概述ASP.NET屬性表現形式
我們根據ASP.NET屬性表現形式的不同表現形式,把其區分為簡單屬性和復雜屬性
下面來看下ASP.NET屬性表現形式
簡單屬性表現形式如下,大家都很熟悉屬性中含有子屬性,稱之為復雜對象,如Font屬性
(1)連字符的表現形式
(2)內鑲屬性的表現形式,如定義樣式
(3)內鑲集合屬性的表現形式,如DropDownList
復雜屬性基本使用方法
請看我是怎么做的,關于下面看到了一些元數據,如果你不熟悉,請參考MSDN.
下面一段代碼記錄一個custom的信息.
1.定義枚舉
- usingSystem;
- namespaceCustomComponents
- {
- /**////<summary>
- ///職業
- ///</summary>
- publicenumMetier
- {
- 教師,程序員,作家
- }
- }
2.定義復雜屬性
- usingSystem;
- usingSystem.ComponentModel;
- namespaceCustomComponents
- {
- /**////<summary>
- ///地址集合
- ///</summary>
- publicclassAddress
- {
- privateStringstreet=null;
- privateStringcity=null;
- privateStringstate=null;
- privateStringzip=null;
- publicStringStreet
- {
- get
- {
- returnstreet;
- }
- set
- {
- street=value;
- }
- }
- publicStringCity
- {
- get
- {
- returncity;
- }
- set
- {
- city=value;
- }
- }
- publicStringState
- {
- get
- {
- returnstate;
- }
- set
- {
- state=value;
- }
- }
- publicStringZip
- {
- get
- {
- returnzip;
- }
- set
- {
- zip=value;
- }
- }
- }
- }
3.呈現控件
4.在ASP.NET頁面定義控件

打開后臺代碼,輸入如下代碼檢查屬性,發現屬性是存在的,如下圖,再打開視圖,發現控件能顯示屬性,***的就是不能認識屬性為有效屬性,在源視圖也無法找到這幾個屬性.

5.解決4無法顯示有效屬性的問題,(其實以上的測試已經實現復雜屬性了).
解決方法:請在Custom類中的CustomAddress中加入一個元數據,如下
- [Description("地址集合")]
- [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
- publicAddressCustomAddress
- {
- get
- {
- returnaddress;
- }
- }
6.實現CustomAddress屬性折疊效果
解決方法:給Address類添加一個元數據,如下
- [TypeConverter(typeof(ExpandableObjectConverter))]
- publicclassAddress
- {.}
以上介紹ASP.NET屬性表現形式
【編輯推薦】



















