どっとねっとふぁん

C# Tips And Samples
in 検索

21.ページ間のデータ渡し(Context.Items)

最新の投稿は、投稿日時: 06-23-2005, 4:55 午後 投稿者: ono です。スレッドには 0 件の返答があります。
投稿のソート: 前へ 次へ
  •  06-23-2005, 4:55 午後 67

    21.ページ間のデータ渡し(Context.Items)

    Web Tips19ではあえてはずしたContext.Itemsですが、Essential ASP.NETに記述がありました。
    HTTP PipeLine(サーバへのリクエストからレスポンスが返るまで)の中でデータを保持する入れ物として使ってよいようです。
    独自のモジュールを作成した際、モジュールとaspxページ間でデータを渡す際の便利な入れ物として使えますが、ここではServer.Transferを利用してページを遷移する中でのデータの受け渡しに使う方法をサンプルにまとめます。

    Page1.aspx
    -------------------------------------------------------
    <%@ Page Language="C#" %>
    <html>
    <head>
    <script runat="server">
    void button_Click(Object sender, EventArgs e) 
    {
        Context.Items["InputData"] = textbox1.Text;
        Server.Transfer("Page2.aspx");
    }
    </script>
    </head>
    <body>
    <form id="myForm" runat="server">
    このページはPage1です<br />
    <asp:textbox id="textbox1" runat="server" /><br />
    <asp:button text="Page2へ" OnClick="button_Click" runat="server" />
    </form>
    </body>
    </html>
    
    -------------------------------------------------------
    Page2.aspx
    -------------------------------------------------------
    <%@ Page Language="C#" %>
    <html>
    <head>
    <script runat="server">
    void Page_Load(Object sender, EventArgs e) 
    {
        label1.Text = "渡された文字列:" + Context.Items["InputData"];
    }
    </script>
    </head>
    <body>
    このページはPage2です<br />
    <asp:label id="label1" runat="server" />
    </body>
    </html>
    
    -------------------------------------------------------

    だいぶすっきりしたプログラムになります。
    2つのページ間だけで利用するデータだったらこの方法を使うのが一番簡単かもしれません。


    あおい情報システム株式会社
     小野修司(どっとねっとふぁん)
RSS ニュースフィードで参照
SkinName:iroha_CS2
Powered by Community Server, by Telligent Systems