내 MasterPage에 단추가 있고 ContentPage에서 단추의 Click 이벤트를 처리하기를 원합니다. 여기까지 내가 무엇을 가지고 :ContentPage에서 MasterPage 이벤트 처리
//Event in MasterPage
public event EventHandler Search_Submit;
//ButtonClick event in MasterPage
protected void SearchButton_Click(object sender, EventArgs e)
{
if (Search_Submit != null)
{
Search_Submit(this, EventArgs.Empty);
}
}
//EventHandler in Page_Init on ContentPage
Master.Search_Submit += new EventHandler(Master_Search_Submit);
//Search_Submit event in ContentPage
private void Master_Search_Submit(object sender, EventArgs e)
{
//Perform appropriate action...
}
이 모든 작동 - 그러나, 나는 EventArgs 값을 전달하고 싶습니다. EventArgs에서 상속 받고 사용자 정의 속성이있는 사용자 지정 EventArgs 클래스를 만들어야한다고 생각합니다. 그러나, 내가 할 때 내 다음 오류가 발생합니다 : 'Master_Search_Submit'에 대한 오버로드가 'System.EventHandler'대리자와 일치하지 않습니다.
언급 한 것처럼 이벤트 선언을 변경하고 내 이벤트 처리기를 사용자 정의 EventArgs 클래스를 사용하도록 변경했습니다. 그러나 나는 여전히 Page_Init 클래스 (코드에 대한 원래 게시물 참조)의 줄에 같은 오류가 표시됩니다. –
해당 줄을 Master.Search_Submit + = new EventHandler (Master_Search_Submit)로 변경했습니다. 그리고 제대로 작동했습니다. 감사!! –