1

我想ASP.NET在浏览器关闭时清除会话值。我在我的html页面中定义了 onunload 函数,但我不知道如何在这个 Javascript 方法中清除会话值?

<body onunload="myUnloadFunction()">


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

请让我知道是否还有其他更好的方法。

4

1 回答 1

5

试试这个:

代码隐藏:

[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:

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

如果您想了解有关ASP.NET AJAX Page Methods以及如何调用它们的更多信息,AJAX请阅读使用 jQuery 直接调用 ASP.NET AJAX 页面方法

于 2013-07-21T12:07:21.733 回答