1

我正在 ASP.NET 中创建一个多部分 Web 表单,该表单将面板用于不同的步骤,仅使当前步骤的面板可见。在第 1 步,我有一个下拉列表,它使用 Javascript 函数通过“onchange”重新配置同一面板中的某些字段。显然,由于客户端脚本只影响 DOM,所以当我转到第 2 步然后返回第 1 步时,即使选择了相同的下拉选项,第 1 步中的字段也会恢复到原来的配置。

在步骤之间存储面板的视觉状态的好方法是什么?我考虑在页面加载时调用下拉菜单的 onchange 函数,但这似乎很笨拙。谢谢!

--

感谢您的快速回答 - 我想我会尝试使用向导,但 AJAX 解决方案听起来也很有趣。

4

3 回答 3

1

您可能会为此考虑使用 ASP.Net 向导控件 - 它会自动执行您尝试执行的许多操作。

于 2008-11-20T19:17:53.320 回答
1

我建议你使用 MultiView 控件,这在语义上更合适。然后将这些数据存储在 ViewState 中。我写过类似的东西,它很摇滚。

于 2008-11-20T19:18:23.227 回答
1

我认为最好的选择是将所有状态保持在一个地方,或者根本不保持任何状态。您遇到的主要问题是将客户端状态与服务器端状态同步。

如果可能,请尝试使用 javascript 显示/隐藏您的面板,而不是回发。如果没有,请使用一些 ajax 来更新服务器端的值,而不是单击下一个/上一个按钮时。

否则,您可以使用ASP.Net Ajax Toolkit Tabs 之类的工具来帮助进行转换。

希望有帮助!

于 2008-11-20T19:22:14.047 回答