我正在ASP.NET中创建一个多部分Web表单,它使用Panels执行不同的步骤,只显示当前步骤的Panel。在第1步,我有一个下拉列表,它使用Javascript函数通过<!>“; onchange <!>”重新配置同一Panel中的某些字段。显然,由于客户端脚本仅影响DOM,当我转到步骤2然后返回到步骤1时,即使选择了相同的下拉选项,步骤1中的字段也会回到其原始配置。

在步骤之间存储面板的可视状态的好方法是什么?我考虑在页面加载时调用下拉列表的onchange函数,但这看起来很笨重。谢谢!

-

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

有帮助吗?

解决方案

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

其他提示

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

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

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

否则,您可以使用 ASP.Net Ajax Toolkit Tabs 帮助过渡。

希望有所帮助!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top