ViewStateMode无法按预期工作

时间:2012-09-24 00:33:12

标签: asp.net viewstate

在我正在研究的ASP.NET 4.0网站上,我有一个母版页,我在其中设置了ViewStateMode =“Disabled”。然后,站点的一个部分有一个嵌套的母版页,其中ViewStateMode =“Enabled”,因为该部分网站需要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设置。

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

1 个答案:

答案 0 :(得分:1)

要解决此问题,只需更改ViewStateMode控件的ContentPlaceHolder属性

即可

示例:

在母版页

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

</asp:ContentPlaceHolder>