2010-07-05 55 views
1

我正在編寫一個需要動態調用用戶控件方法的頁面。從另一個頁面動態調用用戶控件中的方法

  1. 我在我的頁面上和RowDataBound我有一個GridView我加載此用戶控件的每一行。

  2. 在我的用戶控件我有一個公共無效方法,我需要調用時,我加載此控件。

我在讀反射,但在我使用的代碼中,我沒有找到在用戶控件上創建的方法。看到代碼:

UserControl x = (UserControl)LoadControl("../usercontrols/ucResultData.ascx"); x.GetType().InvokeMember("CreateData", BindingFlags.InvokeMethod, null, this.Page, null);

這是用戶控件的代碼:

public void CriarGradeHorario() { ... }

回答

1

您試圖調用當前頁面對象的方法CreateData。你要調用CriarGradeHorario方法用戶控制對象:

x.GetType() 
    .InvokeMember("CriarGradeHorario", BindingFlags.InvokeMethod, null, x, null); 

但是,如果你要調用的方法這種方法,你應該考慮把它的用戶控件,並把它在一個類文件。這樣你就可以在不使用反射的情況下調用它。

+0

謝謝師父! – Andrew 2010-07-05 12:24:10

相關問題