如何在母版页中声明一个名为MyDic的字典?
我希望MyDic能够保存以日期为关键字的MyObj对象列表,以便我可以这样编写:“从MyDic获取日期列表1/28/2011”或“将MyObj列表从1放入/ 28/2011 in MyDic“。
我想在母版页中声明字典,以便我可以在每个页面中访问它。
感谢。
答案 0 :(得分:2)
你是如何计划坚持名单的? 您可以将其创建为应用程序变量,或者将其作为特定于用户的会话变量创建,而不是在母版页中创建它。在任何一种情况下,你都会这样做:
Dictionary<DateTime, myObj> myList = new Dictionary<DateTime, myObj>();
然后你会把它存放在某个地方:
Session["MyList"] = myList;
当您需要再次访问时:
Dictionary<DateTime, myObj> myList = (Dictionary<DateTime, myObj>)Session["MyList"];
您可以在初始化或加载时在母版页中执行声明,或者甚至更好我建议在global.asax文件中为会话或应用程序执行此操作
答案 1 :(得分:2)
您可以在母版页上创建公共属性,然后通过设置 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
的详细信息祝你有个美好的一天!
答案 2 :(得分:0)
您可以使用session或application变量进行此类共享。
这种情况几乎就是为它们创造的。