你是不是想告诉我们<%=Session["USER"]%>直接写在js文件里?
session的值应该用ajax读取asp或php之类的动态脚本文件才行。或者在动态脚本文件里写javascript与动态脚本混合代码。

解决方案 »

  1.   


    那要怎么办,我在JS文件里面需要获取到SESSION的值,有什么办法能获取到吗,存在某个JS文件能获取到的地方也行。
      

  2.   

    $.get("xxx.aspx")xxx.aspx里面response.write Session["USER"]
      

  3.   

    用Ajax <%=%>的方式是表示中间的代码为后台代码,不是在js中获取后台变量的值,而且这个后台代码是由后台页面对象执行,然后用结果替换<%=%>后和html代码一起发送到前台明白原理之后,在js文件中这种方式失败应该是可以理解的了,js文件是由浏览器输出html时发现js文件节点后才加载的,那时后台页面对象的生存期已经结束(html代码发送后后台page对象就析构了),当然无法执行后台代码,所以js文件中不可能支持这种方式。
      

  4.   


    那要怎么办呢 我用那个 get aspx 弹出后是 [Object object] toString 也一样
      

  5.   


    这样写:
    Response.Write(Session["USER"].ToString());
    Resopnse.End();
      

  6.   

    前台:
    $.get("xxx.aspx",{},function(data){alert(data);})我不信这样还不行
      

  7.   

    1、 用ajax 获取
    2、'<%=Session["USER"]%>' 放到,aspx 页面代码。<%=> 在服务器解析执行,js 文件服务器是不会解析的。
      

  8.   

    两种方法:
    1、你写个aspx或ashx,把Session值Response.write出来;
    2、你的js直接改写成aspx,这样直接在里面写<%=Session["USER"]%>也就行了。
      

  9.   

    你可以在页面上再去继承一个父类,在父类里面注册一些通过代码注册一些隐藏域,这样不就可以直接通过jquery来得到吗。用c#举例test1.aspx.cs这个页面去继承一个类    WebPage.csWebPage.cs再去继承System.Web.UI.Page
    这样不就可以在WebPage.cs中通过
    ClientScriptManager csm = this.ClientScript;
    csm.RegisterHiddenField("foo", Session["foo"].ToString());客户端 var foo = $('#foo').val();
      

  10.   


    这样取到是取到了ID 但还包含了那个aspx前台的所有代码- -
      

  11.   


    不会的,只要写了Response.End()句,是不会发送整个页面的
      

  12.   

    回调函数中获取啊,晕,alert那儿不就使用了这个变量?
    $.get("xxx.aspx",{},function(data)
                        {
                         //在这个函数中写你的处理代码,data即为从后台读取到的值
                        }
      )
      

  13.   


    嗯 我已经把我要处理的方法写在 function里面了。我还在调试。
      

  14.   

    很简单,已经实现,把session【user】放到一个隐藏域的value中即可调用