Как полностью избавиться от View State в .NET - PullRequest
6 голосов
/ 14 ноября 2008

Как мне избавиться от:

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

Полностью!

Ответы [ 4 ]

11 голосов
/ 14 ноября 2008

Вам необходимо добавить EnableViewState = "false" в директиву @Page в файле Default.aspx.

<%@ 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
5 голосов
/ 14 ноября 2008

На уровне управления EnableViewState = "false".

На уровне страницы EnableViewState = false в директиве Page.

На уровне приложения добавьте это в .config,

4 голосов
/ 14 ноября 2008

Я думаю, вы можете отключить его в machine.config:

Это должно отключить viewstate для всех страниц.

1 голос
/ 24 апреля 2009
#region Disable ViewState
protected override void SavePageStateToPersistenceMedium(object state)
{
}
protected override object LoadPageStateFromPersistenceMedium()
{
    return null;
}
#endregion

Это потрясающе. Однако, просто чтобы все знали, что оно по-прежнему отображает пустое поле представления скрытого состояния

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...