2015-11-02 77 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中的查詢字符串參數傳遞,以避免會話。
相關問題