0

私は VB.NET アプリケーションを作成していますが、セッション変数を使用するのはこれが初めてです。

私がやりたいことは、セッション変数をページ ( first.aspx ) から別のページ ( second.aspx ) に URL 経由で渡すことです。

ここに私がやりたいことの例があります:

first.aspx.vbページで、セッション変数を宣言し、それに値を割り当てます

Session("example") = "example123"

次に、このセッション変数をfirst.aspxページに渡します

Response.Write(Session("example"))

そしてJavaScriptを介して変数の値を読み取ります

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

今、私がしたいのは、変数の値を変更し (たとえば、 として設定するexample456)、変数をsecond.aspxに渡すことです[たとえば、window.open()] を使用して、URL に変数の値が含まれないようにしますが、その名前:

url/second.aspx?value=example AND NOT url/second.aspx?value=example456

実際、ユーザーが変数の値を読み取ってほしくありません。

最後に、 second.aspx.vbのセッション変数の値を読み取り、さまざまな操作をRequest.QueryString("value")実行する必要があります。

出来ますか ?

そうでない場合は、これを行う別の方法があります

助けてくれてありがとう :)

4

2 に答える 2

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. 2 番目のページに移動するためのボタンまたはリンクを作成する

    <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
    

したがって、2 番目のページで Session("example") 値にアクセスでき、最初のページでクライアント スクリプトによって設定された新しい値が含まれます。

于 2013-05-01T19:47:36.570 に答える
1

セッション変数は、同じセッション内であるページから別のページに自動的に渡されるため、このように呼び出されます。そのため、必要に応じて変数の値を変更し、2 番目のページで再度アクセスして値を見つける必要があります。明示的に何かを渡す必要はありません。

于 2013-05-01T10:21:21.880 に答える