当我在浏览器中查看我的aspx页面的页面源时,我看到了这一点

时间:2010-10-21 04:55:35

标签: c# asp.net

<form name="aspnetForm" method="post" action="/Web/Test.aspx" id="aspnetForm">

<div>
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMTY1NDU2MTA1Mg9kFgJmD2QWAmYQZGQWDAIBDw8WAh4ISW1hZ2VVcmwFKGh0dHA6Ly9sb2NhbGhvc3Qvcm9zL2ltYWdlcy9yb3NfbG9nby5qcGdkZAIFDw8WAh4EVGV4dAUFTG9naW5kZAIHDw8WAh8ABS1odHRwOi8vbG9jYWxob3N0L3Jvcy9pbWFnZXMvaWNvbnMvUk9TbG9nby5wbmdkZAIIDw9kFgIeBWNsYXNzBQVXb21lbmQCDg9kFgICAQ9kFgJmDw8WAh4IR29hbFR5cGUFBUZlbW1lZBYCZg9kFgJmD2QWAgIBDxYCHwIFBm1lblRhYhYCZg8WAh4LXyFJdGVtQ291bnQCBBYKZg9kFgICAQ8WAh4Hb25jbGljawWUAWphdmFzY3JpcHQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2N0bDAwX0NvbnRlbnRQbGFjZUhvbGRlcjJfY3RsMDBfSG9tZUJhbm5lcl9ycHRnb2FsQmFubmVyX2N0bDAwX2FuY1dlbGNvbWUnKS5ocmVmPSdodHRwOi8vbG9jYWxob3N0L3Jvcy93ZWxjb21lLydkAgEPZBYEAgEPFgIfBQWmAWphdmFzY3JpcHQ6Z

...........

并且此ViewState的值继续打开..........

这个longggg的价值究竟是什么?我如何摆脱这个......不要让它出现在我的页面来源中......有些东西显然是错误的

2 个答案:

答案 0 :(得分:1)

您可以通过将EnableViewState属性设置为false来禁用页面级别的viewstate。

<%@ Page EnableViewState="False" ... %>

您应该确保实际上不需要viewstate - 许多ASP.NET服务器控件使用存储在viewstate中的信息来维护其内部状态。

检查this以查找包含更详细信息的文章。

答案 1 :(得分:1)

没有错。

Viewstate是一个特殊的地方,ASP.Net保存所有ASP.Net控件的值,以便在刷新浏览器或将其传递给其他页面时记住这些值。您还可以使用它来存储您自己的客户变量。

它减慢了一些事情,许多人通过禁用viewstate报告了良好的结果。

我在不使用viewstate的ASP.Net MVC中编程,我也不使用Session来最大化性能。但是,让我警告你,这是一种难以生存的方式。

msdn article on viewstate会为您提供有关viewstate的更多信息:

相关问题