AJAX,ASHX和webform的时序问题

时间:2011-05-05 19:25:30

标签: javascript asp.net ajax

我有一个ASP.NET应用程序,我认为我遇到了计时问题。我有一个webform控件,可以在OnClientClick上调用一些Javascript,也可以通过服务器端onClick调用代码。 我单击按钮(我的实例中的打印按钮),然后调用Javascript提示输入打印原因。我输入任何内容然后在JS中我通过AJAX调用ashx(处理程序)页面传递提示的结果。

然后,处理程序将提示中的Text放入会话变量中。一旦JS完成,后面的OnClick代码被称为调用一个方法,该方法将从会话变量中获取原因(在ashx编写之后)并记录信息并打印。

我所看到的是我第一次这样做,我得到一个错误,我找不到原因(即会话变量为空)。它之后每次都有效。所以,我相信正在发生的事情是第一次调用ASHX页面时,它正在被编译/加载,而不是足够快地向会话添加信息。

我的问题是有一种简洁的方法来减慢我的打印功能并让JS调用时间完成吗?

1 个答案:

答案 0 :(得分:0)

我会删除服务器端onClick并使用onClientClick函数将用户输入发布到您的服务器onClick之前的位置。完全去除ashx步骤。

如果您需要ashx步骤,那么我会将用户发布到ashx ajax调用的onComplete事件的下一步。这将确保一切都以正确的顺序发射。