简体   繁体   English

是否可以通过POST或Cookie禁用ASP ViewState?

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

I know you can disable ViewState via the methods described here , but I'm wondering if it's possible to disable it via a form input from a client. 我知道您可以通过此处描述的方法禁用ViewState,但是我想知道是否可以通过客户端的表单输入来禁用它。

For example can you POST a value like disable_view_state=1 or in cookies or something similar? 例如,您可以发布一个值,例如disable_view_state=1还是在Cookie或类似的东西中发布?

No, that is not possible.When the page first renders viewstate will always be there unless you disable viewstate at the control level or at page level. 否,这是不可能的。当页面首次呈现时,除非在控件级别或页面级别禁用了视图状态,否则视图状态将始终存在。

  1. Since viewstate is already there, you cannot suddenly disable it by any means; 由于viewstate已经存在,因此您不能通过任何方式突然将其禁用。
  2. ASP.Net will always look for the initial viewstate of page when you post back since it needs the viewstate to do page processing. 回发时,ASP.Net始终会寻找页面的初始视图状态,因为它需要viewstate来进行页面处理。

Your best bet is to disable it at the page level by using following page directive at top of page markup, so when page first renders it doesn't have viewstate. 最好的选择是通过在页面标记顶部使用以下page指令在页面级别禁用它,因此,在页面首次呈现时,它没有viewstate。 Note that ViewStateMode="Disabled" setting in page directive for disabling view state for all control in the page. 请注意,页面指令中的ViewStateMode="Disabled"设置用于禁用页面中所有控件的视图状态。

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

<!DOCTYPE html>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM