c# - 在不刷新的情况下在 Page_Unload 上更新 session 值?

标签 c# javascript asp.net session pageload

我试图在 Page_Unload 事件上保存一个值,将其存储在 session (或 ViewState)中,然后从 javascript 中使用它。然而,Session 的值仅在回发/刷新页面后才会更新,但我需要避免页面刷新,我该如何实现?

例子:

.cs

public void Page_Unload(object sender, System.EventArgs e)
{
    string s="some text";
    if (s.Contains("foo")) Session["bar"] = 37; else Session["bar"] = 38;
}

.aspx

<script type="text/javascript">
   function tst() {
     alert('<%=Session["bar"]%>');
   }
</script>

最佳答案

Page_Unload 事件为时已晚,无法为 session 状态分配新值。

相反,您想使用 Page_PreRender 事件。

protected void Page_PreRender(object sender, EventArgs e)
{
   string s="some text";
   if (s.Contains("foo")) Session["bar"] = 37; else Session["bar"] = 38;
}

enter image description here

关于c# - 在不刷新的情况下在 Page_Unload 上更新 session 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19097185/

相关文章:

c# - Swagger 中的重复参数输出

c# - 无法使用 http 客户端获取 asp.net Web API token

c# - 返回对象时如何抛出异常?

c# - 自动生成的默认连接字符串与手动添加的连接字符串

javascript - Ecmascript 6 是否支持可变的 __proto__ 属性?

c# - 如何将字符串列排序为 GridView 中的日期时间列

c# - 如何将动态创建的按钮添加到动态创建的表中?

c# - 这可以改进吗?清除危险的 html 标签

javascript - 基于一个属性检索多个对象 Javascript

javascript - 属性更新时 $scope.$watch 不会触发