程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> ASP.net控件開發系列之三

ASP.net控件開發系列之三

編輯:關於ASP.NET

屬性全接觸(一)

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

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

這次我們來探討下控件開發中的屬性設計的方方面面,屬性本是各種.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
{
 
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved