마스터 페이지에서 여러 텍스트 상자에 액세스해야합니다. 텍스트 상자는 별도의 웹 컨트롤에서 선언되며 텍스트 상자의 이름을 호출 할 수 없도록 데이터 상자에 텍스트를 채울 수 있습니다. 말했듯이 여러 텍스트 상자가 있지만 예를 들어 txtName
에 글을 쓰려고 할 때 디자인보기를 클릭해도 그것이 나타나지 않습니다.마스터 페이지의 웹 컨트롤에서 텍스트 상자에 액세스
아무도 도와 줄 수 있습니까?
마스터 페이지에서 여러 텍스트 상자에 액세스해야합니다. 텍스트 상자는 별도의 웹 컨트롤에서 선언되며 텍스트 상자의 이름을 호출 할 수 없도록 데이터 상자에 텍스트를 채울 수 있습니다. 말했듯이 여러 텍스트 상자가 있지만 예를 들어 txtName
에 글을 쓰려고 할 때 디자인보기를 클릭해도 그것이 나타나지 않습니다.마스터 페이지의 웹 컨트롤에서 텍스트 상자에 액세스
아무도 도와 줄 수 있습니까?
웹 컨트롤의 텍스트 상자를 속성으로 노출하십시오.
public virtual TextBox TxtName { get {return txtName;} //note capitalization
webcontrol.ascx.cs
에서 webcontrol.ascx<asp:TextBox runat="server" id="txtName" />
에서
그런 다음 웹 컨트롤을 노출 마스터 페이지에서 같은 일을. mastermage.master.cs
그런 다음 마스터 페이지가 강하게 MasterType 지시문을 추가하여 콘텐츠 페이지에서 입력 만든다public virtual MyWebControl myWebControl{get {return myWebControl1;}}
에서 masterpage.master
<uc1:MyWebControl runat="server" id="MyWebControl1" />
에서
.
<%@ MasterType TypeName="MyMasterPageClass" />
default.aspx에
에서그런 다음 당신은 뒤에 콘텐츠 페이지 코드에서 액세스 할 수 있습니다. 하여 default.aspx.cs에서
Master.myWebControl.TxtName.Text="Hello, world!";
는이 작업을 수행하는 것이 필요 이유는 .ASPX,의 .ascx 및 .master 페이지에 선언 된 컨트롤 대신 public
의 protected
을하고있는 방법은 (지금 현재) 거기에 없다는 것입니다 내가 알고있는 것을 바꿀 수있어. 따라서 우리는 속성을 사용하여 이러한 컨트롤을 공개적으로 노출 할 수 있습니다.
가능한 [콘텐츠 페이지에서 마스터 페이지 컨트롤에 액세스하는 방법] (http://stackoverflow.com/questions/15573505/how-to-access-master-page-control-from-content-page) – Paddy
@ Paddy OP는 그 링크와 정반대로 설명했다. 그 중복되지 않습니다. ''텍스트 상자는 별도의 웹 컨트롤 "로 선언됩니다. – Bharadwaj
@Bharadwaj - 네가 옳은지도 모르겠지만 마스터 페이지에서 콘텐츠 페이지에 액세스하는 방법을 보여주는 답변이 있습니다. http://stackoverflow.com/questions/4979669/how-to -access-content-page-controls-master-page-in-asp-net? rq = 1 그러나이 방법이 실제로 권장되는 방법인지는 잘 모르겠습니다. – Paddy