刚才Insus.NET有尝试改一段代码,是让用户能动态变更网页背景图片的小功能。当Insus.NET去执行铵钮Click事件时,它却出现标题的错误。
代码是这样的:
此代码,原本是没有什么问题的,但现在添加了#6行代码,即是一个铵钮。当执行click事件,它就出现异常了。 Click事件代码是这样的:
怎样解决呢?
最终在网上找到一个方法:
http://leedumond.com/blog/the-controls-collection-cannot-be-modified-because-the-control-contains-code-blocks/
大约如下(英文):
Insus.NET所理解的,把 "=" 换为"#",然后去Page_load事件中作数据绑定。
在Page_load事件中:
OK,果然能解决此问题。
不过,Insus.NET想使用自己的方法来解这个问题。
去除网页head节点的样式:
去网页.aspx.cs的Page_Load拿掉那一句:Page.Header.DataBind();
并添加一个方法 protected override void OnInit(EventArgs e)
铵钮的Click事件没有改变:
#A图片与#B图片,区别,只是图片名称不同而已。重构一下:
看看动态变更网页背景图片: