У меня есть несколько пользовательских элементов управления, которые я хочу, чтобы каждый имел некоторые базовые функции.Ниже моя реализация:
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.Что тут происходит?Есть ли лучший способ сделать это?