保留ASP的选定值.. NET下拉列表由JavaScript重新构建

retaining selected value of ASP.NET DropDownList re-built by JavaScript

本文关键字:新构建 JavaScript 构建 下拉列表 ASP NET 保留      更新时间:2023-09-26

我转换了一个100%的ASP。. NET驱动的表单几乎使用了所有基于AJAX的架构,除了它不使用AJAX调用提交数据。它做一个完整的页面回发。由于按钮提交仍然与许多功能绑定在一起(它是一个具有多个按钮的全局按钮自定义控件),因此我选择不将它们转换为AJAX。

除了一个用例之外,每个数据都提交得很好。这是一个依赖于另一个下拉框的下拉框。所以现在,当最终用户改变下拉菜单1的值时,下拉菜单2从AJAX调用(JavaScript)中得到重建。注意,下拉列表1的选项在应用程序的生命周期中永远不会改变。当表单在该工作流之后提交时,我们失去了下拉框2的值。希望这是有意义的。如果下拉菜单1没有改变,下拉菜单2仍然有相同的选项,当表单在后面的代码中构建,所以在viewstate的值可以找到当它被张贴。

现在,我有一个隐藏字段来跟踪被选中的值,现在工作得很好,但是有点笨拙。在进行此开发之前,两个下拉框都打开了AutoPostback属性。这导致表单在不提交表单的情况下被重新提交,这样下拉框就可以重新构建。

有没有更好的方法来解决这个问题,而不是让按钮执行AJAX调用来提交数据?

在JavaScript中操作的值不能在回发时维护,因为它在服务器端无法访问。你可以把选择的值放在Hidden Field中,然后从隐藏字段中获取。