加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 允许服务器/ usercontrol上的任何属性/属性

发布时间:2020-12-15 19:55:49 所属栏目:asp.Net 来源:网络整理
导读:我注意到在System.Web.UI.WebControls命名空间中的大多数(如果不是全部)标准Web控件上,您可以添加所需的任何属性而不会使页面崩溃. 以asp:Button控件为例. 此代码完全有效: form runat="server" asp:Button runat="server" Text="Test button" crapAttribu
我注意到在System.Web.UI.WebControls命名空间中的大多数(如果不是全部)标准Web控件上,您可以添加所需的任何属性而不会使页面崩溃.

以asp:Button控件为例.

此代码完全有效:

<form runat="server">
    <asp:Button runat="server" Text="Test button" crapAttribute="crapValue" />
</form>

现在,我有一个自定义服务器控件,如果我添加任意属性,它会崩溃.它只接受定义了相应公共属性的属性.

我得到的错误是这样的“控件没有名为”crapAttribute“的公共属性.

我希望我的自定义控件接受任何属性而不会崩溃.我需要做些什么才能工作?

我看过Reflector中的标准控件,它们确实有各种各样的属性和东西,但是我看到的东西没有立即引起我的注意.

我的自定义控件继承自WebControl的价值.

解决方法

您不必特别做任何事情来允许将任意属性添加到控制标记中.从WebControl派生的东西通常会挖掘这些属性并将它们转储到Attributes集合中.

我想不出为什么会失败的原因.如果有的话,您必须记住在Render的实现中呈现Attributes集合.

你能添加一个简单的新控件代码示例吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读