SMSPortal.Model.UserRight model = new SMSPortal.Model.UserRight();
model.FunId = "1";
ViewState.Add("Add1",model);
model.FunId = "2";
ViewState.Add("Add2",model);
model.FunId = "3";
ViewState.Add("Add3",model);
如上代码 在页面的ViewState中存储了三个实体 只有实体的FunId 不同
但是再从ViewState中取出实体时,前面两个实体全部被最后一个覆盖了,三个实体的FunId全部变为3了...
foreach (string sKey in this.ViewState.Keys)
{
object obj = ViewState[sKey];
if (obj.GetType() == typeof(SMSPortal.Model.UserRight))
{
//三个实体的FunId全部变为3了...
}
}
也就是ViewState中会自动更新同类型的实体.这是为什么呢?我如何取出之前保存的三个实体呢?
model.FunId = "1";
ViewState.Add("Add1",model);
model.FunId = "2";
ViewState.Add("Add2",model);
model.FunId = "3";
ViewState.Add("Add3",model);
如上代码 在页面的ViewState中存储了三个实体 只有实体的FunId 不同
但是再从ViewState中取出实体时,前面两个实体全部被最后一个覆盖了,三个实体的FunId全部变为3了...
foreach (string sKey in this.ViewState.Keys)
{
object obj = ViewState[sKey];
if (obj.GetType() == typeof(SMSPortal.Model.UserRight))
{
//三个实体的FunId全部变为3了...
}
}
也就是ViewState中会自动更新同类型的实体.这是为什么呢?我如何取出之前保存的三个实体呢?
解决方案 »
- 谁有全国大学的数据库.
- 对不起,windows专区没人,换这儿问: 在 Windows Server 2008 上怎么安装 FTP 服务
- 大量数据插入数据库问题?希望高手帮忙!
- 大家帮我看看这是怎么了?
- 思归大侠,孟子前辈,麻烦你们了.请问如何让WebParts 在拖拽后 页面不刷新???各位高手也请进来!!
- (问题解决即刻结贴)这句话是加密了,还是什么编码?如何看到它的真实效果?
- ASP.NET数据库能用ACCESS?
- 没有源码,我想把编译过的asp里面的html页面里面的东西改下,不知道有没有办法?求大神解答
- window.showModalDialog("Dialog.aspx");传递参数的问题
- 关于 byte 数组类型之间的连接用什么符号?(谢谢)
- 怎样去掉字符串左边的0(急)
- 急救,请大虾们指教
model1.FunId = "1";
ViewState.Add("Add1",model1);
SMSPortal.Model.UserRight model2 = new SMSPortal.Model.UserRight();
model2.FunId = "2";
ViewState.Add("Add2",model2);
SMSPortal.Model.UserRight model3 = new SMSPortal.Model.UserRight();
model3.FunId = "3";
ViewState.Add("Add3",model3);
SMSPortal.Model.UserRight model = new SMSPortal.Model.UserRight();
model.FunId = "1";
ViewState.Add("Add1",model);
model = new SMSPortal.Model.UserRight();
model.FunId = "2";
ViewState.Add("Add2",model);
model = new SMSPortal.Model.UserRight();
model.FunId = "3";
ViewState.Add("Add3",model);
ViewState("Add1") = 1
ViewState("Add2") = 2
不就可以了吗?