我注意到,在 System.Web.UI.WebControls 命名空间中的大多数(如果不是全部)标准 Web 控件上,您可以向它们添加任何您想要的属性,而不会导致页面崩溃。
以 asp:Button 控件为例。
此代码完全有效:
<form runat="server">
<asp:Button runat="server" Text="Test button" crapAttribute="crapValue" />
</form>
现在,我有一个自定义服务器控件,如果我向它添加任意属性,它就会崩溃。它只接受定义了相应公共属性的属性。
我得到的错误类似于“控件没有名为“crapAttribute”的公共属性”。
我希望我的自定义控件能够接受任何属性而不会崩溃。我需要做什么才能让它工作?
我查看了 Reflector 中的标准控件,它们确实具有各种属性和东西,但我没有看到任何立即引起我注意的东西。
我的自定义控件是从 WebControl 继承而来的。