怎樣在用戶控件中調用父頁面中的方法

網友回覆:要導入的命名空間:using System.Reflection;
用戶控件:
private void Button1_Click(object sender, System.EventArgs e)
{
//用反射方法動態調用父頁面的方法
System.Web.UI.Page p = this.Page;
Type pageType = p.GetType();
MethodInfo mi = pageType.GetMethod("SetLabel");
mi.Invoke(p,new object[]{"aaa!"});

}
父頁面:
public void SetLabel(string str)
{
this.Label1.Text = str;;
}
網友回覆:在asp.net小項目中,最好不要使用反射,會降低性能.能避免最好.

在用戶控件中調用父頁面的方法,不如在用戶控件中,定義好一個供父頁面調用的接口方法.
網友回覆:用戶控件
public event EventHandler ccc;

需要調用父方法的地方使用
if (ccc!= null)
{
ccc(this, EventArgs.Empty);
}

父頁面
PageLoad中
UserControl1.ccc = new EventHandler(aaa);

ccc事件
protected void aaa(object sender, EventArgs e)
{
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章