マスターページにがHiddenField
あり、その値はPage_Load
マスターページのイベントで設定されます。私のコンテンツページの1つで、Page_Load
イベントでこの値が必要です。そこで<%@ MasterType VirtualPath="~/Site.Master"%>
、コンテンツページに追加し、マスターページにプロパティを作成して、非表示フィールドの値を読み取りました。ただし、Page_Load
プロパティは常に空の文字列であるため、イベントは逆の順序で発生するように見えます。つまり、最初にコンテンツページ、次にマスターページです。これが私のプロパティread
メソッドとPage_Load
イベントのコードです。
Site = public partial class(System.Web.UI.MasterPage)
protected
method Page_Load(sender : object; e : EventArgs);
private
method GetCurrentCenter: String;
public
property CurrentCenter: String read GetCurrentCenter;
end;
method Site.Page_Load(sender : object; e : EventArgs);
begin
hfCurrentCenter.Value := '1';
end;
method Site.GetCurrentCenter: String;
begin
Result := hfCurrentCenter.Value;
end;
そして、これPage_Load
が私のコンテンツページのイベントです:
method ContentPage.Page_Load(sender : object; e : EventArgs);
var
Center: DropDownList;
begin
if Master.CurrentCenter <> '-1' then // --< Master.CurrentCenter is always an empty string
begin
Center := DropDownList(cuWizard.CreateUserStep.ContentTemplateContainer.FindControl("Center"));
Center.Enabled := False;
end;
end;
なぜCurrentCenter
常に空の文字列なのですか?