您的位置:首页 > 其它

Web视图状态简单记录

2016-11-23 14:31 190 查看
HTTP是无状态的,因此在与服务器交互过程中容易丢失页面的变化状态,如文本框中输入的文字。

因此就出现了视图状态,这个是用来在页面上记录当前页面的一些更改,并且会回传给服务器。

————————————————————————————————————————————————————————

视图状态的编码在未加密的情况下是使用Base64编码。

————————————————————————————————————————————————————————

关闭视图状态可以设置ViewStateMode和Enableviewstate两个属性。

其中Enableviewstate属性用于设置是否开视图状态,当Enableviewstate设置为false时ViewStateMode不起作用。包括包含的子控件也

无法使用视图状态。

通常的做法是将Enableviewstate设置为TRUE ,通过ViewStateMode来控制视图状态。

————————————————————————————————————————————————————————

在浏览器中可以看到页面会多出如下信息:

<input name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" type="hidden" value="19C54D70"></input>

</input>

<input name="__EVENTVALIDATION" id="__EVENTVALIDATION" type="hidden" value="/wEdAAK5pKGcwK4Di9f7k3djdgCq1ygvqpoSpnnSq393pn9qz7aCZ+bN6M8EEFKXQ/7fqeD5XcioZFOY4694uKsCbO5a"></input>

这些就是网页的视图状态。

在ASP.NET中,一些控件必然会有一部分信息被记录在视图状态中,比如

<input id="Text1" type="text" runat="server" enableviewstate="false" 

                clientidmode="Static"/><br />

在其中已经设置了关闭视图状态,但在调试中可以看到传回的sender变量中对应的text1对象中IsTrackingViewState还是为true。相对于enableviewstate=true,只是其中ViewStata记录的信息会少一些。

——————————————————————————————————————————————————————
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: