私が取り組んでいる ASP.NET 4.0 Web サイトには、ViewStateMode="Disabled" を設定したマスター ページがあります。次に、サイトの 1 つのセクションのネストされたマスター ページがあり、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 設定を継承します。
この動作は正しいですか、それとも何か間違っていますか?