如何在.NET中完全摆脱View State

时间:2008-11-14 17:25:43

标签: c# .net asp.net

我怎样才能摆脱:

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="..."/>

完全!

4 个答案:

答案 0 :(得分:11)

您需要将EnableViewState =“false”添加到Default.aspx文件中的@Page指令。

<%@ Page Language="C#" AutoEventWireup="true"
Codebehind="Default.aspx.cs" Inherits="Sample._Default"
EnableViewState="false" %>

然后,将以下代码添加到Default.aspx.cs文件中。这将从生成的HTML中删除隐藏字段。

    #region Disable ViewState
    protected override void SavePageStateToPersistenceMedium(object state)
    {
    }
    protected override object LoadPageStateFromPersistenceMedium()
    {
        return null;
    }
    #endregion

答案 1 :(得分:5)

在控制级别,EnableViewState =“false”。

在页面级别,Page指令中的EnableViewState = false。

在应用程序级别将此添加到.config,&lt; pages enableViewState =“false”&gt;

答案 2 :(得分:4)

我认为你可以在machine.config中禁用它:

&LT;页面enableViewState =“false”/&gt;

这应禁用所有页面的viewstate。

答案 3 :(得分:1)

#region Disable ViewState
protected override void SavePageStateToPersistenceMedium(object state)
{
}
protected override object LoadPageStateFromPersistenceMedium()
{
    return null;
}
#endregion

这太棒了。但是,只是为了让每个人都知道它仍然呈现一个空的视域状隐藏字段

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="" />