我有一个Web用户控件,里面有一个下拉列表。当调用usercontrol的databind事件时,它会自动触发下拉列表databind事件。在dropdownlist的ondatabound事件处理程序中,“其他”选项附加到下拉列表的末尾。 usercontrol多次加载,具体取决于页面上其他控件的选择。最初加载页面时,除“其他”选项外,usercontrol中没有项目。然后当我调用用户控件的数据绑定事件时,控件重新加载,有4个项加上'other'选项。列表中第一个项目的文本是“其他”选项的文本,而不是它应该是什么。我已经逐步完成了下拉列表的数据绑定事件,并发现所有项目都正确加载。看来dropdownlist的viewstate是罪魁祸首,dropdownlist的原始项[0]文本和值正在覆盖新的文本和值。数据绑定后,usercontrol的项目是正确的。我已经尝试在下拉列表中禁用viewstate,但它根本不会加载。
我尝试过使用
this.ClearChildViewState();
在我的用户控件中,没有任何效果。
我应该尝试清除下拉列表的viewstate吗?我该怎么做?
任何建议都将不胜感激。
答案 0 :(得分:0)
这是一个非常复杂的页面,有多个嵌套的用户控件。结果是服务器端错误,而不是viewstate问题。