EnableViewState =“false”不起作用,为什么asp.net查看状态自动解码并存储在浏览器中

时间:2013-04-18 05:08:06

标签: asp.net viewstate state

我使用了asp.net文本框并设置了

  

的EnableViewState = “假”

然后我运行我的代码并输入一些示例文本并强制执行回发(这意味着单击按钮)然后文本框控件保留该值。

我的代码中出了什么问题?

如何禁用视图状态?

<asp:TextBox ID="TextBox1" EnableViewState="false" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />

然后我怀疑另一个。

为什么asp.net查看状态自动解码并存储在浏览器中。我读了一些文章,文章说这是一个安全目的。

用户提供她/他的信息,他将使用特定的浏览器并维护浏览器然后为什么视图状态被编码。解码视图状态的另一个原因是什么?

1 个答案:

答案 0 :(得分:0)

关于你的第一个问题,这一开始可能会令人困惑。 Textbox只是实现IPostBackDataHandler接口的类。

可以在这里找到一个很好的解释 - http://www.codeproject.com/Articles/378180/View-State-for-TextBox-and-other-controls-that-imp

关于有关viewstate加密的第二个问题,您必须知道访问该页面的用户不仅是可以查看该视图状态的用户。页面也会在未加密的频道上发布回来,因此任何查看电线的机构都可以访问它。此外,用户永远不会被信任。

我的建议是在msdn上详细了解视图状态。从长远来看,它会对你有所帮助。