0

在我正在处理的 ASP.NET 4.0 网站上,我有一个母版页,其中设置了 ViewStateMode="Disabled"。然后,站点的一个部分有一个嵌套母版页,其中 ViewStateMode="Enabled" as ViewState 是该站点的大部分内容所必需的。在本节的子页面上,不会为 DropDownList 等控件维护 ViewState。

这些母版页或子页上的其他任何地方都没有其他 ViewState 指令。

母版页:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="Internet.Site" ViewStateMode="Disabled" %>

嵌套母版页:

<%@ Master Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Tvet.master.cs" Inherits="Internet.Tvet.Tvet" ViewStateMode="Enabled" %>

如果我将 ViewStateMode="Enabled" 添加到每个控件或控件周围的面板,我可以让 ViewState 工作,但我的理解是所有控件都继承父 ViewStateMode 设置。

这种行为是正确的还是我做错了什么?

4

1 回答 1

1

要修复它,只需更改控件的ViewStateMode属性ContentPlaceHolder

例子:

在母版页中

<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" ViewStateMode="Enabled">

</asp:ContentPlaceHolder>
于 2012-09-24T01:12:59.577 回答