2015-11-02 76 views
0

三个超链接按钮,我调用一个javascript函数onclick按钮,我检查条件后存储链接按钮id在相应的会话,但功能调用没有点击超链接按钮,它allweys执行最后一次会议价值观javascript函数调用没有点击超链接按钮为什么

<li><a href="" id="link_leave" onclick="showBtton(this.id)">Leave Policy</a></li> 
<li><a href="" id="link_tour" onclick="showBtton(this.id)">Tour policy </a></li> 
<li><a href="" id="link_it" onclick="showBtton(this.id)">IT Policy</a> </li> 

Java脚本函数调用

<script lang="javascript" > 

    { 
     var itsPostBack = <%=Page.IsPostBack ? "true" : "false" %>; 
     alert(itsPostBack); 
     if(itsPostBack!=false) 
     { 
      function showBtton(id) 
      { 


       if ("link_leave"==id) 
       { 
        var a = "leave_button"; 
        alert(a); 

        <%-- '<%Session["identify"] = "' + a + '"; %>'; --%> 
        '<%Session["identify"] = "leave_button"; %>'; 

        var Session_value = ""; 
        Session_value = '<%=Session["identify"] %>'; 
        Session_value =Session["identify"] ; 
        alert(Session_value); 
        javascript: window.open('policy.aspx', '_blank'); 
       } 
       if ("link_tour"==id) 
       { 
        var a = "tour_button"; 
        alert(a); 

        <%-- '<%Session["identify"] = "' + a + '"; %>'; --%> 
        '<%Session["identify"] = "tour_button"; %>'; 

        var Session_value = ""; 
        Session_value = '<%=Session["identify"] %>'; 
        Session_value = Session["identify"]; 
        alert(Session_value); 
        javascript: window.open('policy.aspx', '_blank'); 
       } 

       if ("link_it"==id) 
       { 
        var a = "it_button"; 
        alert(a); 

        <%-- '<%Session["identify"] = "' + a + '"; %>'; --%> 
        '<%Session["identify"] = "it_button"; %>'; 

        var Session_value = ""; 
        Session_value = '<%=Session["identify"] %>'; 
        Session_value = Session["identify"]; 
        alert(Session_value); 
        javascript: window.open('policy.aspx', '_blank'); 

       } 

      } 
     } 
    } 

    </script> 

回答

0

的问题是你试图修改使用Javascript服务器端ASP.NET会话,因为一旦你运行JavaScript代码,这是不可能它运行在没有直接访问服务器上的会话的客户端浏览器上。

您有几种选择:

  1. 需要
  2. 使用本地会话存储何时实现客户端会话通过Ajax调用通过Ajax调用发送按钮ID服务器,然后检索它存储在浏览器中而不是服务器上,所以你可以通过Javascript修改它。请参阅此页面以获取更多详细信息:https://developer.mozilla.org/en/docs/Web/API/Window/sessionStorage
  3. 另一种选择是将按钮ID作为URL中的查询字符串参数传递,以避免会话。
相关问题