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