viewstate 存储对象的问题

cwlcwr 2010-10-27 02:06:52
在同一也面

object a

viewstate [x]=a;




当object b 需要加入到 viewstate [x] 中 该如何写?

a b 结构完全相同
...全文
112 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yujiayou 2010-10-27
  • 打赏
  • 举报
回复
你每次把你的只加在arraylist中 然后清空viewstate重新加入值
kokorenfeng 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 gl0919 的回复:]
引用 8 楼 net_lover 的回复:
C# code
ArrayList a = new ArrayList();
a.Add("北京");
ViewState["x"] = a;
ArrayList b = ViewState["x"] as ArrayList;
b.Add("上海");

b = ViewState["x"] as ArrayList;
foreach……
[/Quote]
高三石 2010-10-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 net_lover 的回复:]
C# code
ArrayList a = new ArrayList();
a.Add("北京");
ViewState["x"] = a;
ArrayList b = ViewState["x"] as ArrayList;
b.Add("上海");

b = ViewState["x"] as ArrayList;
foreach (Object xx in b)
{
……
[/Quote]

这样就可以啊!
koukoujiayi 2010-10-27
  • 打赏
  • 举报
回复
string a="上海";
ViewState["x"]=a;
string b = "北京";
ViewState["x"]=ViewState["x"].ToString()+","+b;

获取:
string[] c = ViewState["x"].ToString().Split(',');
for (int i = 0; i < c.Length; i++)
Response.Write(c[i]);
wdzr_826 2010-10-27
  • 打赏
  • 举报
回复
ViewState里村一个ArrayList就可以实现啊。
孟子E章 2010-10-27
  • 打赏
  • 举报
回复
加入多少都可以啊,只有不超过ViewState大小限制

ArrayList a = new ArrayList();
a.Add("北京");
ViewState["x"] = a;
ArrayList b = ViewState["x"] as ArrayList;
b.Add("上海");
b.Add("xxx");
b.Add("yyy");
b = ViewState["x"] as ArrayList;
foreach (Object xx in b)
{
Response.Write(xx.ToString());
}
孟子E章 2010-10-27
  • 打赏
  • 举报
回复
ArrayList a = new ArrayList();
a.Add("北京");
ViewState["x"] = a;
ArrayList b = ViewState["x"] as ArrayList;
b.Add("上海");

b = ViewState["x"] as ArrayList;
foreach (Object xx in b)
{
Response.Write(xx.ToString());
}
孟子E章 2010-10-27
  • 打赏
  • 举报
回复
怎么不行啊?
cwlcwr 2010-10-27
  • 打赏
  • 举报
回复
ViewState 累加入 不定个 对象
cwlcwr 2010-10-27
  • 打赏
  • 举报
回复
之所以使用 ViewState 是其记录不定个值(根据事件触发)
楼上代码 好象不行


如使用 gridview.datasource=(Ilist)ViewState
提示 为标记可序列化
如何解决
七爷 2010-10-27
  • 打赏
  • 举报
回复
那你可以判断是否要存入b
object[] obj = new object[] { a, b };
ViewState[obj] = obj;
孟子E章 2010-10-27
  • 打赏
  • 举报
回复
ArrayList x = ViewState[x] as ArrayList;
x.Add(b);
ViewState[x] = x;
cwlcwr 2010-10-27
  • 打赏
  • 举报
回复
具体点说

a 为"上海"
b 为"北京"

viewstate [x] 里实际存储为 ArrayList 对象

希望 viewstate [x] 实现自由的 象ArrayList 的add remove等方法
孟子E章 2010-10-27
  • 打赏
  • 举报
回复
你的意思是 viewstate[x] 同时存储a和b>?

62,271

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧