2013-07-21 63 views
1

我想在瀏覽器關閉時清除ASP.NET會話值。我已onunload在我的html頁面定義函數,但我不知道如何清除此Javascript方法中的會話值?如何清除javascript中的OnUnload事件中的asp.net會話值

<body onunload="myUnloadFunction()"> 


<script> 
function myUnloadFunction() 
{ 
    // Needs asp.net session code here 
} 
</script> 

請讓我知道是否有其他任何其他可取的做法。

+0

我該怎麼做? – Smaug

+0

@KhanhTO - 他無法在JavaScript中清除會話值,但他可以用他的JavaScript代碼回撥給服務器,如我的答案中所示。 –

回答

6

試試這個:

代碼隱藏:

[WebMethod] 
public static void ClearYourSessionValue() 
{ 
    // This will leave the key in the Session cache, but clear the value 
    Session["YourKey"] = null; 

    // This will remove both the key and value from the Session cache 
    Session.Remove("YourKey"); 
} 

的JavaScript:如果您想了解更多有關ASP.NET AJAX Page Methods以及如何通過AJAX調用它們,然後讀

$.ajax({ 
    type: "POST", 
    url: "PageName.aspx/ClearYourSessionValue", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) { 
     // Do something interesting here. 
    } 
}); 

Using jQuery to directly call ASP.NET AJAX page methods