hashtable是不是只能在它调用Add()的方法内使用它? 我在一个方法中用add()为hashtable加了几个元素在另一个方法中访问就报错,为什么? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 大概的代码:class{hashtable hs=new hashtable();private void Button_Click(){hs.Add("ee","11");hs.Add("dd","22");}private void Dropdownlist1_change(){Lable1.Text=hs["ee"].ToString();}}代码结构就这样,有什么错误? Web应用么?注意Page的生命周期,在Page Response之后,Page的实例就销毁了。那么hs就是null了。 楼上正确,你可以把hashtable放在session里就ok了 怎样加入Session?我这样加入还是不正确:class{hashtable hs=new hashtable();private void Button_Click(){hs.Add("ee","11");hs.Add("dd","22");Session.add("hash",hs);}private void Dropdownlist1_change(){hs=(hashtable)Session["hash"];Lable1.Text=hs["ee"].ToString();}} 添加的没有问题,但是你这样使用,必须是先点击了Button,才能使用DropDownList否则 Session 里没有 hash 这个key另外,Session 本身就是一个(NameValueCollection)类似 Hashtable 的容器。所以可以直接使用:Page_Load里:if(!IsPostback){ Session.Add("ee", "11"); Session.Add("dd", "22");}// Button 点击修改Session里的内容private void Button_Click(){ Session.Add("ee", "33"); Session.Add("dd", "44");}// 下拉框选择发生变化时,修改Label的显示内容:private void Dropdownlist1_change(){ if(Session["ee"] != null) Label1.Text = Session["ee"].ToString();} 还有注意下,你的 Lable1 是不是写错了? Lable1 => Label1 ? 我点击了Button,开还是不能用!!!还有一点,我hashtable定义的是全局变量,我觉得不用Session 也应该可以,但无论用不用都有错,为什么??????????? 把你完整的代码贴出来看看.Web应用保持数据的方式就那么几种:Application, Cache, Session, Cookie, ViewState, hidden 你应该先了解一下Web应用的编程模型比较有助于你的理解 如果你是web应用的话只是把它定义为全局变量当你post的时候会丢失的所以必须存起来放在session里比较简单你可以设置断点,调试一下看看问题究竟出在什么地方另外你可以贴出来你全部代码这样比较容易排错 “值对于无符号的字节太大或太小”是什么错误? C# 快捷键,弱弱的问一个弱弱的问题 关于C# winform里面公式计算的问题 问个事件的问题 C#打包用什么软件 菜鸟问题:DataGirdView如何记录主键 关于sqlconnection的问题,请帮忙 关于StreamWriter删除文件的问题 这样的情况怎么用工厂模式 帮帮吾小妹!如何编联两个dll 求助!关于Windows Form中的控件不能保存布局的问题! 我快成吴新宇了,还是解决不了,问题太难,还是想法有问题,愚翁在的话打个招呼吧,(实在无语,在csdn发贴有2天了)
class
{
hashtable hs=new hashtable();private void Button_Click()
{
hs.Add("ee","11");
hs.Add("dd","22");
}private void Dropdownlist1_change()
{
Lable1.Text=hs["ee"].ToString();
}
}代码结构就这样,
有什么错误?
我这样加入还是不正确:class
{
hashtable hs=new hashtable();private void Button_Click()
{
hs.Add("ee","11");
hs.Add("dd","22");
Session.add("hash",hs);
}private void Dropdownlist1_change()
{
hs=(hashtable)Session["hash"];
Lable1.Text=hs["ee"].ToString();
}
}
if(!IsPostback)
{
Session.Add("ee", "11");
Session.Add("dd", "22");
}// Button 点击修改Session里的内容
private void Button_Click()
{
Session.Add("ee", "33");
Session.Add("dd", "44");
}// 下拉框选择发生变化时,修改Label的显示内容:
private void Dropdownlist1_change()
{
if(Session["ee"] != null)
Label1.Text = Session["ee"].ToString();
}
还有一点,我hashtable定义的是全局变量,
我觉得不用Session 也应该可以,
但无论用不用都有错,
为什么???????????
只是把它定义为全局变量
当你post的时候会丢失的
所以必须存起来
放在session里比较简单
你可以设置断点,调试一下
看看问题究竟出在什么地方
另外你可以贴出来你全部代码
这样比较容易排错