내 마스터 페이지에 HiddenField
이 있고 그 값은 Page_Load
마스터 페이지 이벤트로 설정됩니다. 내 콘텐츠 페이지 중 하나에서 Page_Load
이벤트에이 값이 필요합니다. 그래서 내 콘텐츠 페이지에 <%@ MasterType VirtualPath="~/Site.Master"%>
을 추가하고 숨겨진 필드 값을 읽으려면 마스터 페이지에 속성을 만들었습니다. 그러나 Page_Load
이벤트는 내 순서가 항상 빈 문자열이므로 내용의 페이지와 마스터 페이지의 순서가 역순으로 실행되는 것처럼 보입니다. 내 속성 read
메소드 및 Page_Load
이벤트에 대한 코드는 다음과 같습니다.콘텐츠 페이지에서 MasterPage 속성이 항상 비어 있습니다.
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
빈 문자열 :
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
이벤트입니까?
당신은 맞습니다. 내가 언급했듯이, 그 사건은 그 순서대로 해고된다. 그래서 내가 무엇을해야하니? 내 접근 방식을 포기하고 숨겨진 필드를 내 모든 콘텐츠 페이지에 배치해야합니까? –
그것의 접근 방식이지만 아직 시도하지 않았습니다. 페이지 – CodeSpread
의 이벤트를로드 할 수 있도록 masterpage의 init 이벤트에 값을 할당합니다. 숨겨진 필드를 삭제하고 그 대신에 'Session' 매개 변수를 사용했습니다. 모든 것이 잘 작동합니다. 이상한. –