0

当用户单击按钮时,我正在使用此 JavaScript 代码删除名为 lbResources 的列表框中的选定项目:

var listResources = document.getElementById('lbResources');
listResources.options.remove(listResources.selectedIndex);

这会从列表框中删除该项目,但在回发到服务器时,该项目仍然存在于后面的代码中。有没有办法让列表框对象背后的代码反映客户端删除的项目?这是我应该使用标准 HTML 列表框而不是 ASP .NET 控件的时候吗?

我可以简单地使用隐藏字段来保存我需要传递的回发数据,但如果可能的话,我想避免这种情况。

4

1 回答 1

1

每次执行回发或页面加载时,ASP.NET 控件都会以相同的方式呈现。它不在乎你在客户端做了什么。它只对控件的值感兴趣。它还根据视图状态验证自己。你根本做不到。

我建议使用隐藏字段来传递要删除的项目和更新面板以防止页面完全加载。

或者您可以使用标准 HTML 输入,但这取决于您是否需要知道除了服务器端的选定值之外的其他信息。

于 2013-05-21T21:08:49.753 回答