首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 控件開發系列(三):屬性持久化模式完整解析——PersistenceModeAttribute

     編輯:關於ASP.NET

ASPX 標籤中控件屬性以三種形式出現:標籤屬性、標籤內文字、巢狀標籤。PersistenceModeAttribute 精確控制每個屬性的序列化呈現方式。

ASPX 三種屬性形式範例

<asp:DropDownList ID="ddl" runat="server" Font-Bold="True">
  <asp:ListItem Value="1">1</asp:ListItem>
  <asp:ListItem Value="2">2</asp:ListItem>
</asp:DropDownList>
  1. 標籤屬性:ID、runat、Font-Bold(子屬性語法)
  2. 巢狀標籤:ListItem 集合項目
  3. 標籤內文字:ListItem 內的 "1"、"2" 文字內容

PersistenceModeAttribute 四個值

[PersistenceMode(PersistenceMode.Attribute)]                    // 預設:標籤屬性
[PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]  // 編碼內部文字,唯一預設屬性
[PersistenceMode(PersistenceMode.InnerDefaultProperty)]         // 內部文字,允許 HTML/控件,唯一預設屬性
[PersistenceMode(PersistenceMode.InnerProperty)]                // 巢狀屬性標籤

ListItem.Text 實作範例

public class ListItem
{
    [PersistenceMode(PersistenceMode.EncodedInnerDefaultProperty)]
    public string Text { get; set; }

    [PersistenceMode(PersistenceMode.Attribute)]
    public string Value { get; set; }
}

ASPX 中:

<asp:ListItem Value="1">項目一</asp:ListItem>
<asp:ListItem Value="2">項目二</asp:ListItem>
  • Value 為 Attribute 模式 → 標籤屬性
  • Text 為 EncodedInnerDefaultProperty → 標籤內文字(自動 HTML 編碼)

Font-Bold 子屬性語法

<asp:DropDownList Font-Bold="True" />
// 對應程式碼
ddl.Font.Bold = true;  // Font 為 FontInfo 類別,Bold 為其屬性

ASP.NET 解析器識別 - 分隔的子屬性語法,自動對應物件圖導航。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved