概述ASP.NET屬性表現(xiàn)形式
我們根據(jù)ASP.NET屬性表現(xiàn)形式的不同表現(xiàn)形式,把其區(qū)分為簡(jiǎn)單屬性和復(fù)雜屬性
下面來(lái)看下ASP.NET屬性表現(xiàn)形式
簡(jiǎn)單屬性表現(xiàn)形式如下,大家都很熟悉屬性中含有子屬性,稱之為復(fù)雜對(duì)象,如Font屬性
(1)連字符的表現(xiàn)形式
(2)內(nèi)鑲屬性的表現(xiàn)形式,如定義樣式
(3)內(nèi)鑲集合屬性的表現(xiàn)形式,如DropDownList
復(fù)雜屬性基本使用方法
請(qǐng)看我是怎么做的,關(guān)于下面看到了一些元數(shù)據(jù),如果你不熟悉,請(qǐng)參考MSDN.
下面一段代碼記錄一個(gè)custom的信息.
1.定義枚舉
- usingSystem;
- namespaceCustomComponents
- {
- /**////<summary>
- ///職業(yè)
- ///</summary>
- publicenumMetier
- {
- 教師,程序員,作家
- }
- }
2.定義復(fù)雜屬性
- 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.呈現(xiàn)控件
4.在ASP.NET頁(yè)面定義控件
打開(kāi)后臺(tái)代碼,輸入如下代碼檢查屬性,發(fā)現(xiàn)屬性是存在的,如下圖,再打開(kāi)視圖,發(fā)現(xiàn)控件能顯示屬性,***的就是不能認(rèn)識(shí)屬性為有效屬性,在源視圖也無(wú)法找到這幾個(gè)屬性.
5.解決4無(wú)法顯示有效屬性的問(wèn)題,(其實(shí)以上的測(cè)試已經(jīng)實(shí)現(xiàn)復(fù)雜屬性了).
解決方法:請(qǐng)?jiān)贑ustom類中的CustomAddress中加入一個(gè)元數(shù)據(jù),如下
- [Description("地址集合")]
- [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
- publicAddressCustomAddress
- {
- get
- {
- returnaddress;
- }
- }
6.實(shí)現(xiàn)CustomAddress屬性折疊效果
解決方法:給Address類添加一個(gè)元數(shù)據(jù),如下
- [TypeConverter(typeof(ExpandableObjectConverter))]
- publicclassAddress
- {.}
以上介紹ASP.NET屬性表現(xiàn)形式
【編輯推薦】