在javascript中获取会话值

Getting session value in javascript

本文关键字:会话 获取 javascript      更新时间:2023-09-26

我正在使用一个外部javascript文件为我的asp.net项目。现在我想在javascript中获得会话值。我怎么能得到该javascript文件的会话值?

Thanks in advance.

<script>
var someSession = '<%= Session["SessionName"].ToString() %>';
alert(someSession)
</script>

这段代码可以用Aspx编写。如果你想在js中。文件中,有两种方法:

  1. 制作完整JS代码的aspx文件,并将该文件的源设置为Script src
  2. 创建处理程序,将JS文件作为aspx处理。

您可以像这样访问会话变量'<%= session ["VariableName"]%>'

文本中的单引号将给出会话值。1)

<script>
var session ='<%= Session["VariableName"]%>'
</script>

2)你可以获取一个隐藏字段并在服务器上赋值;

hiddenfield。会话(value = " xyz "] .tostring ();

//and in script you access the hiddenfield  like
alert(document.getElementbyId("hiddenfield").value);

对我来说,这段代码在JavaScript中工作得很好!

<%= session.getAttribute("variableName")%>

我试着跟着ASP。. NET MVC 5,它为我工作

var sessionData = "@Session["SessionName"]";
protected void Page_Load(object sender, EventArgs e)
    {
        Session["MyTest"] = "abcd";
        String csname = "OnSubmitScript";
        Type cstype = this.GetType();
        // Get a ClientScriptManager reference from the Page class.
        ClientScriptManager cs = Page.ClientScript;
        // Check to see if the OnSubmit statement is already registered.
        if (!cs.IsOnSubmitStatementRegistered(cstype, csname))
        {
            string cstext = " document.getElementById('"TextBox1'").value = getMyvalSession()  ; ";
            cs.RegisterOnSubmitStatement(cstype, csname, cstext);
        }
        if (TextBox1.Text.Equals("")) { }
        else {
              Session["MyTest"] = TextBox1.Text;
        }
    }

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script language=javascript type="text/javascript">
        function getMyvalSession() {
             var txt = "efgh";
             var ff = '<%=Session["MyTest"] %>' + txt;
             return ff ;
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="TextBox1" runat="server"  AutoPostBack=true ></asp:TextBox>
     <input type="submit"  value="Submit" />
    </div>
    </form>
</body>
</html>

如果您使用VB作为后台代码,则必须使用方括号"()"而不是方括号"[]"。

VB示例:

<script type="text/javascript">
var accesslevel = '<%= Session("accesslevel").ToString().ToLower() %>';
</script>  
var sessionVal = '@Session["EnergyUnit"]';
alert(sessionVal);