是否有可能使整个页面的viewstate为false,包括所有控件。我的意思是我不想为所有控件设置enableviewstate =“false”..在aspx页面的页面指令中我有make enableviewstate =“false”但仍启用了所有控件的viewstate ..
EnableViewState =“False”实际上在Page指令中有效。
答案 0 :(得分:1)
您是否尝试过在web.config中将enableViewState设置为false?像这样:
<pages enableViewState="false" />
答案 1 :(得分:1)
在ASP.Net 4.0中,其中一项新功能是对页面及其控件的ViewState进行更多控制。
在ASP.Net 3.5及更早版本中,如果明确设置了Page的ViewState,则忽略ChildControls的ViewState。因此,如果为UserControl设置EnableViewState =“false”,如果Page.EnableViewState设置为true,它仍将使用ViewState。
ASP.Net 4.0引入了一个新的 ViewStateMode -Property,包含3个值:已启用,已禁用和继承
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" ViewStateMode="Disabled" Inherits="_Default" %>
因此,如果为子控件设置ViewStateMode为Inherit,它们将继承页面的行为。如果将其设置为“已启用”或“已禁用”,则它们将按您的要求进行操作。
有关详细信息,请参阅:http://www.dotnetcurry.com/ShowArticle.aspx?ID=478&AspxAutoDetectCookieSupport=1
即使它没有直接回答您的问题,为什么会忽略页面中的EnableViewState值,但它可能会告诉您如何在ASP.Net 4.0中执行此操作或在何处查找问题。也许您在更高级别设置EnableViewState =“true”,如MasterPage?
答案 2 :(得分:0)