在asp.net中,viewstae是客户端变量还是服务器变量?可以查看状态存储的数据量。我的意思是,如果我声明一个视图状态,当多个用户访问同一页面时,视图状态数据是否会发生冲突?
答案 0 :(得分:2)
你真的想读这个,它几乎涵盖了你所有的问题: http://msdn.microsoft.com/en-us/library/ms972976.aspx
答案 1 :(得分:0)
ASP.NET ViewState是一个客户端隐藏控件,用于存储ASP.NET服务器控件的某些状态数据。内容是Base64编码的,可以用解码器看到。它仅在回发到同一页面时可用。不同的用户拥有自己的ViewState,因为它是客户端技术。您可以根据需要存储尽可能多的数据,但它会影响带宽。一般来说,你应该注意大型ViewState,因为它也不是非常友好的SEO。
您可以将它用于您自己的数据:
ViewState["myData1"] = someSerializableContent;
ViewState["myData2"] = someSerializableContent;
ViewState受哈希码保护以防止操纵。
编辑:基本上,您可以根据需要在ViewState集合中添加任意数量的条目。有时候根本禁用ViewState是明智的(EnableViewState属性)。在ASP.NET 4.0中,您有更多选项可以使用ViewStateMode属性禁用/启用ViewState。