您的位置:首页 > 大数据 > 人工智能

The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).

2013-06-24 17:26 507 查看
刚才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图片,区别,只是图片名称不同而已。重构一下:




看看动态变更网页背景图片:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐