マスターページにMyDicという辞書をどのように宣言しますか?マスターページでセッション辞書を宣言する
私はMyDicに日付をキーとしてオブジェクトMyObjのリストを保持したいので、「MyDicから日付1/28/2011のリストを取得する」または「MyObjのこのリストを2011年1月28日MyDicで "
すべてのページで辞書にアクセスできるように、マスターページにその辞書を宣言したいと思います。
ありがとうございました。
マスターページにMyDicという辞書をどのように宣言しますか?マスターページでセッション辞書を宣言する
私はMyDicに日付をキーとしてオブジェクトMyObjのリストを保持したいので、「MyDicから日付1/28/2011のリストを取得する」または「MyObjのこのリストを2011年1月28日MyDicで "
すべてのページで辞書にアクセスできるように、マスターページにその辞書を宣言したいと思います。
ありがとうございました。
リストを永続化する予定はありますか? マスターページで作成する代わりに、アプリケーション変数として作成することも、セッション変数としてユーザー固有のものを作成することもできます。どちらの場合も、あなたのようなものだろう。そして、あなたがどこかに格納します
Dictionary<DateTime, myObj> myList = new Dictionary<DateTime, myObj>();
を:
Session["MyList"] = myList;
、あなたは再びそれにアクセスする必要があります。
Dictionary<DateTime, myObj> myList = (Dictionary<DateTime, myObj>)Session["MyList"];
あなたが行うことができますマスターページの宣言をinitまたはloadで実行するか、セッションやアプリケーションのglobal.asaxファイルで行うことをお勧めします。
この種の共有には、sessionまたはapplication変数を使用できます。
このようなシナリオは、作成されたものとほとんど同じです。
これも機能しますか?ディクショナリ
マスターページでパブリックプロパティを作成し、MasterTypeディレクティブを設定してコンテンツページでパブリックプロパティを作成できます。例えばあなたはMyMasterPageという名前のマスターページを持っているならば、ここでのコードサンプル
/// declare it in Master Page
public Dictionary<DateTime, typeof(List<MyObj_Type>)> MyDic {
get;
set;
}
/// put the line just under Page directive on your content page where you want to access it
<%@ MasterType virtualPath="~/MyMasterPage.master"%>
/// and then on content page you can access by
** Note: The intelisense may not work but don't worry just put the code in content page and it works.**
Master.MyDic.Add(DateTime.Now, MyObj);
はここですかAccessing Members on the Master Page
詳細こだわり一日を!
ありがとうございます。 – adudley
大丈夫、ありがとう、それはまさに私が探していたものです! – frenchie
私は2,3時間前にあなたからこの非常に同じ質問に答えなかった.http://stackoverflow.com/questions/4838129/storing-dictionary-in-session/4838354#4838354? – BrokenGlass
これも機能しますか?ディクショナリ> SessionFolders =新しいディクショナリ>();これはリストの辞書を作成しますか? –
frenchie