2

現時点では、マスター ページとコンテンツ ページがあります。私のマスター ページはドロップダウン リストで構成されており、そこから子を選択する必要があります。選択した子に応じてコンテンツ ページが読み込まれます。選択したドロップダウン値をどのように保存すればよいですか?

ユーザーが複数のタブを開いて、同時にさまざまな子コンテンツを視聴できるようにしたいので、 sessionを使用できるとは思いません。この場合、セッションを使用できる場合、方法がわかりません。

複数のタブの問題は解決しますが、マスターページとコンテンツページのビューステートが異なるため、ビューステート使用できるとは思いません。

現在、コンテンツ ページでpublic static変数を使用しており、それをマスター ページに設定しています。しかし、静的変数には、サイト上のすべての現在のセッション全体で値が保存されていると聞いています。

質問: どのテクノロジーを使用すべきかを提案してくれる人はいますか?

「アプリケーション」オブジェクトについても聞いたことがありますが、それを使用する意味がないと思います。

現在の作業コード:

(コンテンツページ)

public static string Child
    {
        get
        {
            if (child == null)
                return "-1";
            return child;
        }

        set
        {
            child = value;
        }
    }

(マスターページ)

protected void ddlChooseChild_IndexChanged(object sender, EventArgs e)
        {
            ContentPage.Child = ddlChooseChild.SelectedValue;
        }
4

2 に答える 2

2

異なるコントロール間でデータを共有する最良の方法は、"Items" コレクション ( HttpContextクラスのプロパティ) を利用することです。コレクションはハッシュテーブルであり、次のようにページおよびユーザー コントロールからアクセスできます。

Context.Items["Child"] = ddlChooseChild.SelectedValue;
于 2012-04-18T21:08:05.363 に答える
1

PageID などを使用してセッションを制限していない限り、セッションは複数のタブで使用できます。

この記事、マスター コンテンツ ページのインタラクションを確認してください。

于 2012-04-18T20:14:04.517 に答える