【问题标题】:access text in ASP.NET server control declaration访问 ASP.NET 服务器控件声明中的文本
【发布时间】:2011-01-24 23:16:19
【问题描述】:

如果服务器控件是这样声明的

<my:customControl id="cc1" runat="server">
  Help me obi-wan kenobi!
</my:customControl>

是否可以访问标签之间的文本?

【问题讨论】:

    标签: asp.net custom-server-controls


    【解决方案1】:

    如果 asp.net 知道如何解析您的控件(反映 Literal、LiteralControl、TextBox 控件以查看其完成方式)

    [ControlBuilder(typeof(YourControlBuilder)), DefaultProperty("Text")] 
    public class YourControl : Control, ITextControl {
    
    }
    [Bindable(true), DefaultValue(""), Localizable(true)]
    public string Text {
        get;
        set;
    }
    public class YourControlBuilder : ControlBuilder {
    
    }
    

    【讨论】:

      【解决方案2】:

      [ParseChildren(true, "Text")] 添加到您的自定义控件类中即可。

      您可以在此处http://msdn.microsoft.com/en-us/library/system.web.ui.parsechildrenattribute.aspx找到更多信息和示例

      编辑

      来自上述链接的相关sn-p

      [ParseChildren(true, "Employees")]
      

      使用 ParseChildren 属性设置 ChildrenAsProperties 和 DefaultProperty 属性。使用这个 构造函数,控件解析所有 子控件作为属性并且必须 定义一个名为的公共属性 员工,它声明为 数组列表。嵌套(子)元素 必须对应于子元素 员工财产或其他 控件的属性。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-03
        • 2016-10-17
        • 2011-03-24
        • 2011-06-27
        • 2017-09-06
        • 1970-01-01
        • 2012-07-12
        • 1970-01-01
        相关资源
        最近更新 更多