2010-08-23 6 views
0

내 마스터 페이지에는 "검색 텍스트 상자"와 "검색 버튼"이 있습니다.콘텐츠 컨트롤 페이지에서 MasterPage 이벤트 처리

내 콘텐츠 페이지에는 "GridView"가있는 "사용자 컨트롤"이 있습니다.이 회사는 공급 업체에 대한 일부 데이터를 보여줍니다. 또한이 사용자 정의 컨트롤의 페이지로드에서 GridView의 모든 공급 업체를 표시하는 코드가 작성되었습니다.

사용자가 "검색 텍스트 상자"에 공급 업체 번호를 입력하고 "검색 버튼"을 누르면 사용자 정의 컨트롤에서이 이벤트를 처리하려고합니다.

어떻게 하시겠습니까?

도와주세요. 미리 감사드립니다.

참고 : 콘텐츠 페이지에서 이벤트를 처리하는 방법을 알고 있지만 콘텐츠 페이지에 배치 된 사용자 정의 컨트롤에서 처리하는 방법을 알지 못합니다.

+0

중복 : http://stackoverflow.com/questions/3524193/is-it-possible-to-handle-a-masterpage-event-in-a-usercontrol-c – mikemanne

답변

1

검색 매개 변수를 사용자 정의 컨트롤로 전달하는 논리를 추가하기 만하면됩니다. 사용자 정의 컨트롤에

가의 MasterPage에

public void BindGrid{string searchText) 
{ 
    //get datasource with the searchText used as a Where, or whatever suits your current situation 
    //bind grid 
} 

그런 다음 검색 텍스트에 소요되는 그리드를 바인딩에 공개 방법을, 당신은 단지

protected void btnSearch_Click(object sender, EventArgs e) 
{ 
    UserControl1.BindGrid(tbSearchText.Text); 
} 

당신 같은 것을해야한다 IsPostBack이 true이면 UserControl이 PageLoad 이벤트의 데이터를 바인딩하지 않도록해야합니다. 그렇지 않으면 데이터를 두 번 바인딩하게됩니다.

+0

어떻게 마스터 페이지에 액세스 할 수 있습니까? 하위 페이지를 제어 하시겠습니까? 이것을 시도 할 것이다. 감사합니다 – NoobDeveloper

+0

그냥 자식 컨트롤 공개하고 코드 숨김에서 볼 수 있어야합니다. – Jemes

0

콘텐츠 페이지에서 이벤트를 처리하는 방법을 알고있는 경우 동일한 방법을 컨트롤에 적용 할 수 있습니다. 콘텐츠 페이지는 마스터 페이지와 컨트롤 모두를 알고 액세스 할 수있는 엔터티이므로 컨트롤의 처리기를 마스터 페이지의 이벤트에 연결하는 콘텐츠 페이지가됩니다.

관련 문제