在代码隐藏中,我设置Session了一些数据。
Session["usedData"] = "sample data";
问题是如何在 javascript 中获取 Session 值(在我的示例中;“示例数据”)并设置Session["usedData"]一个新值?
在代码隐藏中,我设置Session了一些数据。
Session["usedData"] = "sample data";
问题是如何在 javascript 中获取 Session 值(在我的示例中;“示例数据”)并设置Session["usedData"]一个新值?
使用 Javascript 访问和分配会话变量:
使用 Javascript 分配 ASP.NET 会话变量:
 <script type="text/javascript">
function SetUserName()
{
    var userName = "Shekhar Shete";
    '<%Session["UserName"] = "' + userName + '"; %>';
     alert('<%=Session["UserName"] %>');
}
</script>
使用 Javascript 访问 ASP.NET 会话变量:
<script type="text/javascript">
    function GetUserName()
    {
        var username = '<%= Session["UserName"] %>';
        alert(username );
    }
</script>
您不能Session直接在 JavaScript 中访问。
您可以创建一个隐藏字段并将其传递到您的页面,然后使用 JavaScript 通过以下方式检索对象 document.getElementById
Javascript 不能直接设置会话值。为了从 javascript 设置会话值,我按如下方式执行 ajax 调用。
在 ASPx 文件或 html,
 <script type="text/javascript">
 $(function(){
   //Getting values from session and saving in javascript variable.
   // But this will be executed only at document.ready.
   var firstName = '<%= Session["FirstName"] ?? "" %>';
   var lastName = '<%= Session["LastName"] ?? "" %>';
   $("#FirstName").val(firstName);
   $("#LastName").val(lastName);
   $('Button').click(function(){
     //Posting values to save in session
     $.post(document.URL+'?mode=ajax', 
     {'FirstName':$("#FirstName").val(),
     'LastName':$("#LastName").val()
     } );
   });
 });
在服务器端,
protected void Page_Load(object sender, EventArgs e)
 {
      if(Request.QueryString["mode"] != null && Request.QueryString["mode"] == "ajax")
      {
        //Saving the variables in session. Variables are posted by ajax.
        Session["FirstName"] = Request.Form["FirstName"] ?? "";
        Session["LastName"] = Request.Form["LastName"] ?? "";
      }
 }
用于获取会话值,如 Shekhar 和 Rajeev 所说
var firstName = '<%= Session["FirstName"] ?? "" %>';
希望这可以帮助。
试试这个
var sessionValue = '<%=Session["usedData"]%>'
假设你的意思是“客户端 JavaScript”——那么你不能,至少不能直接。
会话数据存储在服务器上,因此客户端代码在不与服务器通信的情况下无法看到它。
要访问它,您必须发出 HTTP 请求并让服务器端程序修改/读取并返回数据。