今天因为要做一个关于搜索的功能,但是每次都将搜索条件连接成sql然后给DB实在是有点臃肿,于是便想用Dictionary来实现,
但从来没有使用过Dictionary,查阅msdn还有百度谷歌,很多例子都是针对控制台或者winform的例子,
我的问题是这样的:
因为只是测试Dictionary的使用方式,所以暂时没有考虑其性能,
我定义一个Dictionary<string, DataTable> ddt = new Dictionary<string, DataTable>();
//ddt是全局变量
ddt.Add("Hire", dt);这个写在if(!ispostback)里面,
然后在我click button时,我做这样的操作, ddt["Hire"].select("title like '%a%'");
这时报错, 说字典中未包含该关键字,
这是什么原因.
因为你的ddt并没有持久和缓存下来,你可以看一下,是否这个ddt是null
你可以把内容存放在viewstate里面
给你个参考
protected override object SaveViewState()
{
ddt = (Dictionary)ViewState["ddt"];
return base.SaveViewState();
}
protected override void LoadViewState(object savedState)
{
base.LoadViewState(savedState);
ViewState["ddt"] = ddt;
}
ddt["Hire"].select("title like '%a%'")
你这是定义的dictionary的扩展方法,里面的参数是应该是一个Func<>。
你这段代码能编译?