我从 syste.web.ui.webcontrols.button 派生一个控件。然后我称它为buttonv2。然后,我向这个新类“int abc”添加一个任意属性,通过一个 get/set 访问器访问它,该访问器将它的值存储在 viewstate 中(如果 viewstate 值为 null,它也返回 0,即我试图无需设置即可访问它)。
现在,每当我给'abc'一个值,然后在调试模式下观察它,它会很好地命中访问器的'set'部分,并输入我给它的值(即55),然后紧接着,它会命中一些我的代码“if (abc >0){}”的一部分,它从视图状态中获取值为 0!
这仅在我使用 asp.net 'skins' 并在皮肤文件中预设 'abc' 值时发生。(ie) 皮肤文件内容如下:<asp:buttonv2 runat="server" SkinID="bob" abc="55" />
在我使用的页面中<asp:buttonv2 runat="server" SkinID="bob" />
,我的概率是 abc 总是等于 0?!