session是存在服务器上的,js没法获取。

解决方案 »

  1.   

    var id = '<%=Session["UserName"] %>';
      

  2.   


    //index.aspx.cs
      protected string strSession = "";
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    Session["test"] = "csdn.session";
                    strSession = Session["test"].ToString();
                }
            }---------------------
    index.aspx<head runat="server">
        <title></title>
        <script type="text/javascript">
            function GetSession() {
                var val = '<%=strSession %>';
                alert(val);
            }
        </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <input id="Button1" type="button" value="获取Session" onclick="GetSession()" />
        </div>
        </form>
    </body>
    </html>
      

  3.   

    专门写个处理程序,然后利用JS+AJAX去读取就可以
      

  4.   

    我获取的怎么全是这样的, var id='';
      

  5.   

    那个说明Session["UserName"]是空的,里面没有数据
      

  6.   

    var id = '<%=Session["UserName"] %>';
    这个是可以的
      

  7.   

    <script type="text/javascript">
            $(document).ready(function () {
                var id = '<%=Session["UserName"] %>';
                alert(id);
            });
        </script>
    if (!IsPostBack)
                {
                    Session["UserName"] = "demon";
                    Response.Write(Session["UserName"].ToString());
                }
      

  8.   

    如果实在没有办法,可以考虑先把sessioin放到一个hidden控件中,然后js访问这个hidden控件。取值
      

  9.   


    这种方法取到的不是当前session的值,而是在服务器端生成页面时session的值
    如果那时没有给其赋值就是空的
      

  10.   


    Session["UserName"] 没有赋值吧