0

我有一个 ASP 按钮,当点击它时,需要设置一个会话变量并运行一些 javascript 代码来弹出一个窗口。我让这一切正常工作,但是当这种情况发生时,主页会回发并跳回页面顶部。如何防止回发并仍然设置会话变量并调用 javascript?所以主窗口保持在相同的位置?

4

2 回答 2

3

使用 ajax 执行此操作,将 ASP.NET 按钮设置为仅在客户端上运行,将 onClient 事件设置为:

onclient="SetSession(); return false;"

并在 SetSession() JavaScript 函数中调用服务器方法,例如简单的 ashx,如果服务器调用成功,则可以调用所需的附加 JavaScript。(使用 jQuery 更容易):

function SetSession()
{
  jQuery.ajax({
                url: "SetServerSideSession.ashx", 
                success: function (data) 
                {  
                  AdditionalJavascript();
                }
             });
}
于 2012-11-12T15:35:02.960 回答
1

要在回发后保持相同的位置,您可以使用 Page.MaintainScrollPositionOnPostBack

Page.MaintainScrollPositionOnPostBack 属性

于 2012-11-12T15:29:01.553 回答