2011-07-12 34 views
1

我将100%ASP.NET驱动的表单转换为使用几乎所有基于AJAX的体系结构,但它尚未使用AJAX调用提交数据。它做了一个完整的页面回发。而且由于提交的按钮仍然与很多功能绑定(这是一个带有多个按钮的全局按钮自定义控件),所以我选择不将它们转换为AJAX。保留由JavaScript重新构建的ASP.NET DropDownList的选定值

除了一个用例外,每条数据都可以正常提交。这是一个依赖于另一个下拉菜单的下拉菜单。 因此,现在,当最终用户更改下拉列表1的值时,下拉列表2将从AJAX调用(JavaScript)重新获得。请注意,下拉1的选项永远不会改变应用程序的生命周期。当表单在该工作流程之后提交时,我们将失去下拉2的值。希望这是有道理的。如果下拉菜单1没有改变,那么下拉菜单2与在后面的代码中生成表单时的选项仍然有相同的选项,所以在发布时可以找到viewstate中的值。

现在,我有一个隐藏字段来跟踪所选的值,现在工作正常,但有点笨拙。在开发之前,两个下拉菜单都打开了AutoPostback属性。这导致表单在没有提交表单的情况下被重新提交,所以下拉列表可能会被重建。

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

回答

1

在JavaScript中操作的值无法在回发中保留,因为它在服务器端不可访问。您可以将选定的值放入Hidden Field,然后从隐藏字段中获取。

+0

所以我想我的解决方案并不是那么糟糕。 :-)感谢您的确认。 – MacGyver

相关问题