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

ASP.NET 3.5 伺服器控件屬性系列(二):使用 ControlBuilder 解析複雜巢狀標記

     編輯:關於ASP.NET

ControlBuilder 實作

繼承 ControlBuilder,覆寫 GetChildControlType 根據標籤名稱回傳對應型別 (ScriptItem),AllowWhitespaceLiterals 回傳 false 忽略空白。

public class ScriptItemBuilder : ControlBuilder {
    public override Type GetChildControlType(string tagName, IDictionary attributes) {
        return tagName.ToLower() == "scriptitem" ? typeof(ScriptItem) : null;
    }
    public override bool AllowWhitespaceLiterals() { return false; }
}

標記用法

<cc1:MyControl runat="server">
    <ScriptItem>alert('Hello');</ScriptItem>
    <ScriptItem>console.log('World');</ScriptItem>
</cc1:MyControl>

不需子標記繼承 Control、加前綴或 runat=server,支援任意 XML 結構。

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