在javascript中获取会话值

时间:2011-12-06 06:15:58

标签: javascript asp.net session

我正在为我的asp.net项目使用外部javascript文件。现在我想在那个javascript中获取会话值。如何在该javascript文件中获取会话值?

提前致谢..

7 个答案:

答案 0 :(得分:19)

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

您可以在Aspx中编写此代码。如果你想在一些js.file中使用它,你有两种方法:

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

答案 1 :(得分:5)

您可以访问您的会话变量,例如'&lt;%= Session [“VariableName”]%&gt;'

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

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

2)您可以使用隐藏字段并在服务器上分配值;

hiddenfield.value = session [“xyz”]。tostring();

//and in script you access the hiddenfield  like

alert(document.getElementbyId("hiddenfield").value);

答案 2 :(得分:0)

对我来说,这段代码在JavaScript中就像魅力一样!

<%= session.getAttribute("variableName")%>
希望它有所帮助...

答案 3 :(得分:0)

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>

答案 4 :(得分:0)

var sessionVal = '@Session["EnergyUnit"]';
alert(sessionVal);

答案 5 :(得分:0)

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

VB示例:

<script type="text/javascript">
var accesslevel = '<%= Session("accesslevel").ToString().ToLower() %>';
</script>  

答案 6 :(得分:0)

我尝试使用ASP.NET MVC 5,它对我有用

var sessionData = "@Session["SessionName"]";