今天做项目的时候用到了一个RadioButtonList控件,在HTML代码将控件的第一个ITEM属性中赋值Selected="true",然后开始编写CS文件代码。在调试页面的过程中发现了一个很有意思的小问题,第一次运行页面正常,调用RadioButtonList的回传服务器事件也是正常的,然后跳转了几个页面也都正常。然后选择了RadioButtonList中的ITEM2进行测试(进入页面后用代码控制首先选择ITEM2),一开始运行都很正常,但是跳转几个页面后再回到该页面时,RadioButtonList控件的服务器事件丢失,呵呵。
检查代码没有问题,然后在Page_Load事件中委托控件的事件也不成功,最后发现问题就出在控件的HTML属性上,ITEM1的属性值Selected="true"在页面加载时可以影响控件的事件绑定,通过HTML代码,asp.net自动将事件属性给到了ITEM1上,这个时候ITEM2就触发不了任何服务器事件了。