是否可以通过 POST 或在 cookie 中禁用 ASP ViewState?

Is it possible to disable ASP ViewState via POST or in cookies?

我知道您可以通过 here 中描述的方法禁用 ViewState,但我想知道是否可以通过客户端的表单输入来禁用它。

例如,您可以 POST 像 disable_view_state=1 这样的值或在 cookie 或类似的东西中吗?

不,那不是 possible.When 页面首先呈现的视图状态将始终存在,除非您在控件级别或页面级别禁用视图状态。

  1. 由于视图状态已经存在,您不能突然禁用它 任何方式;
  2. ASP.Net 将始终查找页面的初始视图状态 post 返回,因为它需要视图状态来进行页面处理。

最好的办法是在页面标记顶部使用以下页面指令在页面级别禁用它,这样当页面首次呈现时它没有视图状态。请注意,页面指令中的 ViewStateMode="Disabled" 设置用于禁用页面中所有控件的视图状态。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RepeaterPage.aspx.cs"
    Inherits="RepeaterPage"  ViewStateMode="Disabled" %>

<!DOCTYPE html>