繁体   English   中英

ASP.NET使用jQuery访问当前会话

[英]ASP.NET Access current session using jQuery

有没有办法使用jQuery修改当前的Session()变量? 如果它涉及解构ViewState,那么我真的不感兴趣。 只是好奇是否有一些简单的方法来做到这一点。

谢谢!

如果您需要在jQuery和服务器之间传递每个会话属性,您可以尝试使用cookie。

否则,您将不得不创建自定义处理程序(ashx)文件或WebMethod或类似文件,以便您使用Ajax调用来访问它。

jQuery的


$.get("http://somewhere/page.aspx",
      {sessionVar: "something"},
      function(data)
      {
          alert("Session(\"something\") = " + data);
      }
);

page.aspx:


Response.Write(Session[Request.QueryString["sessionVar"]]);

这没有错误检查或任何事情......

会话存储在服务器上,除非您进行ajax调用并从服务器获取会话详细信息,否则无法从jQuery访问它。

除了ViewState和Session都帮助开发人员在其Web应用程序中维护状态这一事实之外,它们彼此无关。

编辑:

如果要使用Ajax修改会话。 创建HTTP处理程序SessionHelper.ashx。 此会话处理程序可以将“SessionVariableName”和“SessionVariableValue”作为Query String参数,并修改服务器上的会话状态。 您可以使用$ .ajax方法从jQuery调用此处理程序。

请记住,如果您公开这样的处理程序,您将不得不保护它免受滥用,因为任何人都可以直接调用处理程序并修改Session变量。 [例如,如果您在会话中存储用户角色/权限,黑客可以通过此处理程序修改此角色/权限。]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM