在c#中定义会话变量从javascript中获取它

时间:2015-12-15 11:17:50

标签: javascript c# session

我在后面的代码中保存代表会话变量中URL的字符串,如下所示:

        String mois = Request.QueryString["mois"].ToString();
        String m = mois;


        String moisnom = Request.QueryString["moisnom"].ToString();
        String annee = Request.QueryString["annee"].ToString();
        String dt = Request.QueryString["date"].ToString();
        String user = Request.QueryString["user"].ToString();
        String where = "jour.aspx?mois=" + mois + "&moisnom=" + moisnom + "&annee=" + annee + "&date=" + dt + "&user=" + user + "&cp=all" + "&usl=" + Request.QueryString["usl"].ToString();
        Session["togo"] = where; 

然后我尝试在JavaScript中像这样得到它:

    var togo = '<%=Session["togo"]%>';
    //  i also tried this var togo ='@Session["togo"]'; 
    var newPage = togo; // this should contain a string with the url to go to 

但是当我使用它时,它将它用作字符串,这就是我的URL的样子:

http://localhost:50311/<%=Session["togo"]%>
 or
http://localhost:50311/@Session["togo"]

我怎样才能访问会话变量或者我做错了什么?

 EDIT: 
like you suggested i already tried using the hidden field like this 

     yes  i tried that but then i had this problem here is the definition of the hidden field  

             <input type="hidden" value="aa" id="myHiddenVar" runat="server"/>

然后我试着给它点击我需要的价值

            String where = "jour.aspx?mois=" + mois + "&moisnom=" + moisnom + "&annee=" + annee + "&date=" + dt + "&user=" + user + "&cp=all" + "&usl=" + Request.QueryString["usl"].ToString();
        myHiddenVar.Value= where; 

这就是我尝试从js文件中获取它的方式

       var togo = $('#myHiddenVar').val();
       var newPage = togo;

但它取默认值意味着&#34; aa&#34;如在值=&#34; aa&#34;我猜是因为脚本是在变量赋值之前执行的,如何反转那个顺序?

3 个答案:

答案 0 :(得分:1)

会后[&#34; togo&#34;] =其中; 在隐藏变量

中保存此会话[&#34; togo&#34;]

hiddenVariable =会话[&#34; togo&#34;];

现在在JS访问中隐藏变量: 假设hiddenvariable的ID是&#34; hdnxyz&#34;

var togo = $(&#39; #hdnxyz&#39;)。val();

var newPage = togo;

答案 1 :(得分:1)

首先,会话驻留在服务器上!!!!!!

如果它位于不同的js文件中,则无法访问它&lt;%xyz%&gt;即scriplet标签仅适用于aspx页面...

所以无法在客户端访问会话变量..

而是将sessio9n值分配给隐藏变量,然后使用javascript

访问它

答案 2 :(得分:0)

asp:HiddenField中编写会话元素,然后使用您的js代码从中读取。