当用户点击按钮时,我使用此JavaScript代码删除名为lbResources的列表框中的所选项目:
var listResources = document.getElementById('lbResources');
listResources.options.remove(listResources.selectedIndex);
这会从列表框中删除该项目,但在回发到服务器时,该项目仍然存在于后面的代码中。有没有办法让代码隐藏在列表框对象后面反映客户端的项目删除?这是我应该使用标准HTML列表框而不是ASP .NET控件吗?
我可以简单地使用隐藏字段来保存我需要传递的数据以进行回发,但我想尽可能避免这种情况。
答案 0 :(得分:1)
每次执行回发或页面加载时,ASP.NET控件都以相同的方式保持呈现。它并不关心你在客户端做了什么。它只对控件的值感兴趣。它还根据viewstate验证自己。你根本做不到。
我建议使用隐藏字段来传递要删除的项目和updatepanel,以防止页面完全加载。
或者您可以使用标准HTML输入,但这取决于您是否需要知道服务器端的选定值以外的其他值。