는 방법에 액세스할 수 있습니다.Net 요소에 Master 페이지에서 콘텐츠 페이지?

StackOverflow https://stackoverflow.com/questions/6406

  •  08-06-2019
  •  | 
  •  

문제

그것은 가능한 액세스하는 요소에서 마이페이지 내에로드 ContentPlaceHolder 마스터?

나는 목록을 나열하는 사람들의 이름을 탐색 영역에서 마스터 페이지입니다.나를 업데이트하고 싶은 목록보 후에 사람이 되었습니다 테이블에 추가되는 ListView 데이터입니다.이 ListView 현재하지 않는데 그것의 가치까지 캐시 금융 요구 사항을 제공합니다.우리는 그냥 다시 실행 ListView.DataBind() 업데이트됩니다 목록의 내용이 있습니다.우리는 할 수 없었 실행 ListView.DataBind() 에 사용하는 페이지는 마스 페이지입니다.

아래 샘플은 내가 무엇을 하고 싶지만 컴파일러에 오류가 말

"PeopleListView 존재하지 않는 현재 상황에서"

GIS.master-어디에 있는 ListView

...<asp:ListView ID="PeopleListView"...

GISInput_People.aspx 사용 GIS.마스터 그것의 주인이 페이지

GISInput_People.aspx.cs

AddNewPerson()
{
    // Add person to table
    ....

    // Update Person List
    PeopleListView.DataBind();
    ...
}

무엇을 할 수있는 가장 좋은 방법이 될 것이 문제를 해결하기 위해 다음과 같이에서는 C#.Net?

도움이 되었습니까?

해결책

나는 당신을 믿 이렇게 하여 사용하는 것을 금합니다.마스터입니다.FindControl 또는 유사한 무언가는,하지만 당신은 아마 없어야-그것은 필요한 콘텐츠 페이지를 너무 많이 알고에 대해 구조의 페이지입니다.

나는 제안 등 다른 방법을 발사하는 이벤트는 컨텐츠 영역에서는 들을 수 있었다고 다시 바인딩을 때 발사했다.

다른 팁

가정하 제어"라고 PeopleListView"에 master 페이지

ListView peopleListView = (ListView)this.Master.FindControl("PeopleListView");
peopleListView.DataSource = [whatever];
peopleListView.DataBind();

하지만@palmsey 더 올바른 경우에 특히 페이지할 수 있는 가능성의 하나 이상의 마스 페이지입니다.분리하며 그들과 사용하는 이벤트입니다.

옵션 1:을 만들 수 있는 공공의 재산의 마스터 페이지를 제어

public TextBox PropMasterTextBox1
{
    get { return txtMasterBox1; }
    set { txtMasterBox1 = value; }
}

액세스 콘텐츠에 대 페이지

Master.PropMasterTextBox1.Text="SomeString";

옵션 2:에 Master 페이지:

public string SetMasterTextBox1Text
{  
    get { return txtMasterBox1.Text; }
    set { txtMasterBox1.Text = value; }
}

콘텐츠 페이지:

Master.SetMasterTextBox1Text="someText";

옵션 3:을 만들 수 있 일부 공용 방법은 당신을 위해 일하는


이러한 접근은 그렇게 유용하지만 있다면 그것은 도움 당신은 단지 일부를 사용하고 제한 및 정 컨트롤

중 하나는 생각을 기억은 다음 ASP.NET 지시어.

<%@ MasterType attribute="value" [attribute="value"...] %>

그것은 당신을 도울 것입니다 참조하는 경우이다.마스터를 만들어 강력한 참조 마스터 페이지입니다.할 수 있습니다 다음을 참조하 ListView 필요없이 든다.

으로 액세스할 수 있는 코드이다.마스터입니다.FindControl(controlid 속성)을 제어하는 당신은 바랍니다.그것은 반환 기준의 제어,도록 변경 내용이 적용됩니다.에 대한 발사하는 이벤트가 가능할 수 없었 각 상황이다.

가정 마스 페이지로 선정되었 MyMaster:

(Master as MyMaster).PeopleListView.DataBind();

편집: 이후 PeopleListView 를 선언한 보호는 기본적으로,당신은 것 중 하나를 변경해야 하는 이 공용,또는 공공산 래퍼스에 액세스할 수 있도록에서 당신의 페이지입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top