asp.net中Dictionary的用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net中Dictionary的用法相关的知识,希望对你有一定的参考价值。

我定义一个Dictionary<string, DataTable> ddt = new Dictionary<string, DataTable>();

//ddt是全局变量

ddt.Add("Hire", dt);这个写在if(!ispostback)里面,

然后在我click button时,我做这样的操作, ddt["Hire"].select("title like '%a%'");

这时报错, 说字典中未包含该关键字,

这是什么原因.
问题我已经解决,感谢你们的回答,原因在于我该把Dictionary设置为static的既OK

这个不是 Dictionary 变量的问题
这个是变量作用域的问题,
在APS.NET页面中每次交互执行以后所有的变量都会被清空,
就算你放到全局变量也没用的
要是打算保存这个变脸就应该放到 ViewState 或者 Session 中,用的时候再取出来。
参考技术A if(!ispostback)是页面首次加载的时候运行,当你点击按钮的时候,缓存中已经把 ddt 给清空了,所以 ddt 中根本不存在("Hire", dt)的键值对信息,所以你得不到 参考技术B 这样声明的变量ddt中没有select 方法。所谓的关键字指的就是这个select。请楼主检查。 参考技术C 这种情况你得跟踪一下。
有可能的确是你没有ADD 入字典内

ASP.NET 中 把返回的List<Dictionary<string, object>>的第一条记录的某个值绑定到Button中

this.Button1.Text= hb.homepageUrgentSold().Find(0)["sid"];怎么不对

引用linq:
using System.Linq;
然后
this.Button1.Text = hb.homepageUrgenSold().First()["sid"];
参考技术A 你的obj 是什么????
你给那个对象加可序列化的特性了么?

以上是关于asp.net中Dictionary的用法的主要内容,如果未能解决你的问题,请参考以下文章

一篇彻底掌握Python 字典(Dictionary)的用法

R语言list与Python中的dict

asp.net dictionary时间长了,出现索引超出了数组界限

如何插入从分配给 Dictionary<int, int> 的 SQL 表中提取的数据?(ASP.Net)

python dict用法

如何将 Dictionary<string, string> 变量从后面的代码传递到 asp.net?