2013-05-01 35 views
0

我們,我創建了一個VB.NET應用程序,這是我第一次使用Session Variables。將Session變量傳遞給另一頁Javascript

我想要做的是會話變量從一個頁面(first.aspx)到另一個頁面(second.aspx)通過URL傳遞。

這裏是我想要做的一個例子:

first.aspx.vb頁,我宣佈一個會話變量,並給它分配一個值

Session("example") = "example123" 

然後,我通過這會話變量的first.aspx

Response.Write(Session("example")) 

,並通過JavaScript讀取VALU的可變

<script type= text/javascript> 
    var SessionVar = '<%=Session("example")%>)'; 
</script> 

現在,我想要做電子商務是改變變量的值(例如將其設置爲example456),然後將變量傳遞給second.aspx [例如與window.open()],這樣的網址不包含變量的值,但它的名字:

url/second.aspx?value=exampleAND NOTurl/second.aspx?value=example456

逸岸我不希望用戶閱讀VALU e的變量。

最後,我必須通過Request.QueryString("value")讀取second.aspx.vb中的會話變量的值,並執行各種操作。

可能嗎?

如果不是,有anothe辦法做到這一點

感謝您的幫助:)

回答

1

設置會話變量從JavaScript可以像下面這樣做:

  1. 在第一頁上創建一個隱藏字段控制

    <asp:HiddenField ID="HiddenField1" runat="server" /> 
    
  2. 客戶端腳本來設置隱藏字段

    的價值
    function setVal(value) { 
        // if using jQuery 
        $("#<%= HiddenField1.ClientID%>").val(value); 
    
        // if using javascript 
        var hf = document.getElementById("<%= HiddenField1.ClientID%>"); 
        hf.value = value; 
    } 
    
  3. 創建按鈕或鏈接以導航到第Ë第二頁

    <asp:Button ID="Button1" runat="server" Text="Go to second page" OnClick="NavigateToSecondPage" /> 
         or 
    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="NavigateToSecondPage">Go to second page</asp:LinkButton> 
    
  4. 在後面的第一個頁面代碼,創造NavigateToSecondPage子來處理按鈕的onclick事件/鏈接

    Protected Sub NavigateToSecondPage(sender As Object, e As EventArgs) 
        Session("example") = HiddenField1.Value 
        Response.Redirect("SecondPage.aspx") 
    End Sub 
    

因此,在第二頁,你可以訪問Session(「示例」)值,並且它將具有由第一頁中的客戶端腳本設置的新值。

1

會話變量被稱爲這種方式,因爲他們是在同一會話內從一個頁面自動傳遞到其他,所以你應該隨時修改變量的值,然後在第二頁中再次訪問它以查找值。你不需要明確地傳遞任何信息。

+0

因此,如果我改變了頁面中變量的值,這個新值將從我使用該變量的所有其他頁面中讀取? – user2217039 2013-05-01 10:24:58

+0

是的,如果你已經實施你的會議的權利。看看谷歌,有很多關於如何做到這一點的材料。 – 2013-05-01 10:29:25

+0

好的,但我不知道的是我如何設置會話變量的值與Javascript的變量的值。再次感謝 – user2217039 2013-05-01 14:18:19