设置Session变量并阻止在ASP.NET按钮上单击回发

时间:2012-11-12 15:26:44

标签: asp.net

我有一个ASP按钮,当点击它时,需要设置一个会话变量并运行一些javascript代码来弹出一个窗口。我把这一切都搞好了,但是当这发生时,主页面会进行回发并跳回到页面顶部。如何阻止回发并仍然设置会话变量并调用javascript?那么主窗口是否保持在同一位置?

2 个答案:

答案 0 :(得分: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();
                }
             });
}

答案 1 :(得分:1)

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

Page.MaintainScrollPositionOnPostBack Property