2012-11-12 53 views
0

我有一個ASP按鈕,單擊時需要設置會話變量並運行一些JavaScript代碼以彈出窗口。我有這一切工作正常,但是當這種情況發生時,主頁做回發並跳回到頁面的頂部。如何防止回發並仍然設置會話變量並調用JavaScript?這樣主窗口保持在同一個位置?設置會話變量並防止回發ASP.NET按鈕單擊

+1

爲什麼你使用ASP .NET按鈕呢?只需使用一個按鈕。 –

+0

你可以在cookie中設置信息嗎?然後你可以在javascript中完成所有操作,而不用擔心回發... – MikeSmithDev

+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(); 
       } 
      }); 
} 
+0

誠然,我不是很熟悉ajax或.ashx頁面,我將如何使用它? –

+0

爲什麼它的價值,會話變量需要設置爲文本框中的文本 –

+0

想通了......這工作得很好......謝謝! –

1

要保持同一位置回傳後,您可以使用Page.MaintainScrollPositionOnPostBack

Page.MaintainScrollPositionOnPostBack Property

+0

我試過了,但它不工作......也許與母版頁有關? –

+0

嘗試在web.config中設置 - 請記住,它會影響您的整個網站 –