3
我有一些UserControl,我想每個都有一些基本的功能。下面是我的實現:.net - 如何創建實現接口的UserControl? LoadControl出錯
public interface IMyTabInterface
{
void LoadData();
}
public partial class MyFirstTab : System.Web.UI.UserControl, IMyTabInterface
{
public void LoadData()
{
...
}
}
然後,在另一個頁面的代碼背後,我嘗試:
protected void LoadFirstTab()
{
Control uControl1 = Page.LoadControl("/Controls/MyFirstTab.ascx");
Control uControl2 = Page.LoadControl("/Controls/MySecondTab.ascx");
// Want to do something like this, but don't get this far... :
var myFirstTab = (IMyTabInterface)uControl1;
var mySecondTab = (IMyTabInterface)uControl2;
myFirstTab.LoadData();
mySecondTab.LoadData();
Panel1.Controls.Add(myFirstTab);
Panel1.Controls.Add(mySecondTab);
}
我懂得了,這是不正確的,但我本人對LoadControl得到一個錯誤( )行:
'MyFirstTab' 這裏不允許使用,因爲它不會擴展類 'System.Web.UI.UserControl'
即使該類明確地擴展了UserControl類。這裏發生了什麼?有一個更好的方法嗎?
嗨Oded,謝謝你的回覆。我完全犯了一個骷髏頭的錯誤,應該刪除這個問題 - 我已經改變了控件的命名空間,這就是爲什麼LoadControl()函數被打破。衛生署!在我放棄了所有的接口代碼之後才意識到這一點,只是爲了仍然得到相同的錯誤。 Woops。 – rusty 2011-02-04 18:31:32