ASP.net控制項開發系列之三

來源:互聯網
上載者:User

屬性全接觸(一)

本系列上篇文章有幾位抬愛,鼓勵了幾句,所以勁頭又足了,這不,這篇文章就出得快了,:)

希望能繼續得到鼓勵和指正。

這次我們來探討下控制項開發中的屬性設計的方方面面,屬性本是各種.net下語言的最基本文法,但控制項做為一種提供給程式員二次開發的發布件,其功能的強大與使用的靈活都離不開良好的屬性設計,所以我覺得屬性設計是控制項開發中第一座要打下的堡壘。

首先我們來看一段.aspx檔案中的HTML樣式的代碼:

<asp:DropDownList id="DropDownList1" runat="server" Font-Bold="True">
<asp:ListItem Value="1">1</asp:ListItem>
<asp:ListItem Value="2">2</asp:ListItem>
</asp:DropDownList>

這種代碼大家都寫過無數次了,不過,現在我們要從另一種角度來分析這段代碼:

DropDownList控制項在和使用者互動時,它沒有把它的屬性一股腦放在一起來表示出來,而是分為以下幾種情況:

1.像ID、Runat、Font-Bold這些,放在<>標記裡;

2.Font-Bold不同於其它,它有一個短橫分隔成兩部分,這種表示方式不是Font-Bold是一個屬性的名稱,而是說明它是一個子屬性,是Font屬性(Font類)的Bold屬性,對應.cs檔案的寫法是:Font.Bold;

3.ListItem放在了DropDownList的一雙<>標記的中間,而不是標記之類,同樣1、2也放在了ListItem的中間。

下面我們來分別看看這幾種屬性記錄方式是怎麼實現的。

有一個Attribute來做這件事件PersistenceMode(System.Web.UI.PersistenceModeAttribute)。

它有以下幾個值供選擇:

Attribute(default)屬性儲存在控制項的標籤裡;預設值

EnCodedInnerDefaultProperty 屬性是編碼的HTML,放在控制項標籤對的中間儲存,以上的ListItem就是這樣儲存Text屬性的(1、2);

[PersistenceMode(PersistenceMode.EnCodedInnerDefaultProperty)]
public string Text
{
 
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.