我在更新的面板中有一个下拉列表和2个列表框,页面上有一个保存按钮。当页面加载时,我加载一个列表框,其中包含与所选下拉项目相关的数据。当用户在下拉列表中选择不同的项目时,我会进行回发并使用与所选项目相关的数据重新加载列表框。当用户单击页面上的“保存”时,listbox.Items是加载了第一页加载的原始项目以及页面上显示的项目。
任何想法如何解决这个问题?
答案 0 :(得分:0)
确保您不会在每次回发时绑定数据。使用Page.IsPostback来检查这一点。
答案 1 :(得分:0)
要解决此问题,我必须从客户端更新viewstate。下面是我在更新面板的回发完成后调用的javascript函数:
函数UpdateStateforList(list){
var i;
var state = "1";
for(i = 0; i < list.options.length; i++){
state += "|" + list.options[i].text + "|" + list.options[i].value;
}
eval("document.forms[0]." + list.id + "_State.value = state");
}