更改ActiveStepIndex

时间:2015-11-24 12:35:23

标签: c# asp.net webforms viewstate

我有一堆巫师的应用程序。在其中一个向导中,当用户处于最后一步时,一些代码在代码隐藏中运行以检查表单的值到目前为止。如果其中一个值出现问题,则会显示是/否弹出窗口(用户控件)。如果用户点击“是”,则会通过更改代码隐藏中的ActiveStepIndex来使用不正确的值进入该步骤。

这在本地工作,在我的构建服务器上,步骤改变,导航发生,一切都很好。但是在我的QA服务器上,之后会立即触发另一个回复,再次导航到上一步。

通过调试,我发现AJAX回发是从_domReady的{​​{1}}函数触发的。显然它应该检查浏览器导航事件或其他一些。在我的情况下,在MicrosoftAjax.js函数中完成的状态比较导致第二次回发发生,因为两个状态不同。新状态与旧状态不同,旧状态由_navigate source设置。

ScriptManager

任何想法为什么服务器状态在一个环境中可能不同而在另一个环境中不同?顺便说一句,它发生在所有浏览器中。

1 个答案:

答案 0 :(得分:0)

我发现警告弹出窗口在向导的更新面板之外。在更新面板中移动后,视图状态保持同步,并且没有进行额外的回发。

我仍然不明白为什么它在当地运作良好。