是否可以通过 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 页面首先呈现的视图状态将始终存在,除非您在控件级别或页面级别禁用视图状态。
- 由于视图状态已经存在,您不能突然禁用它
任何方式;
- ASP.Net 将始终查找页面的初始视图状态
post 返回,因为它需要视图状态来进行页面处理。
最好的办法是在页面标记顶部使用以下页面指令在页面级别禁用它,这样当页面首次呈现时它没有视图状态。请注意,页面指令中的 ViewStateMode="Disabled"
设置用于禁用页面中所有控件的视图状态。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RepeaterPage.aspx.cs"
Inherits="RepeaterPage" ViewStateMode="Disabled" %>
<!DOCTYPE html>
我知道您可以通过 here 中描述的方法禁用 ViewState,但我想知道是否可以通过客户端的表单输入来禁用它。
例如,您可以 POST 像 disable_view_state=1
这样的值或在 cookie 或类似的东西中吗?
不,那不是 possible.When 页面首先呈现的视图状态将始终存在,除非您在控件级别或页面级别禁用视图状态。
- 由于视图状态已经存在,您不能突然禁用它 任何方式;
- ASP.Net 将始终查找页面的初始视图状态 post 返回,因为它需要视图状态来进行页面处理。
最好的办法是在页面标记顶部使用以下页面指令在页面级别禁用它,这样当页面首次呈现时它没有视图状态。请注意,页面指令中的 ViewStateMode="Disabled"
设置用于禁用页面中所有控件的视图状态。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RepeaterPage.aspx.cs"
Inherits="RepeaterPage" ViewStateMode="Disabled" %>
<!DOCTYPE html>