我想了解viewsource中的viewsate [“ x”]和__viewstate之间的区别
即
在视图源页面中,隐藏控件中存在视图状态,例如:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dO3F9exemRdHoXxGHr"/>
但是在C#中我可以创建如下的viewstate:
viewstate["x"]="Hi";
那么区别是什么呢???
以及字符串“ Hi”将其保存在哪里?在这个隐藏的地方?
最佳答案
呈现页面时,它会将其视图状态序列化为base-64
使用LosFormatter类编码的字符串,并(默认情况下)存储它
在隐藏的表单字段中。回发时,隐藏的表单字段为
检索并反序列化回视图状态的对象
表示,然后用于还原状态
控件层次结构中的控件。
这意味着是的,它保存在此hidden field
中,但它是encoded
。阅读MSDN article以获得更多信息。引用来自6.PARSING THE VIEW STATE。
如果您有兴趣,可以解析ViewState并查看其“实际值”。经过研究,我发现这个Website后,您可以搜索视图状态解析器
关于c# - View 源中的viewsate [“x”]和__viewstate有什么区别?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27871585/