close
當User Control想要call Web page method要如何做呢

找了找網路上的資料:
How can i to call a public method of page from user control?

這兒提供了不錯的解決方法~

首先, 我們要自己製作一個抽象類別來繼承 System.UI.Web.Page ,目的是用來取代掉原本的Page繼承的類別

public abstract class AbstractBaseClass : System.Web.UI.Page
{
public AbstractBaseClass()
{
}

public abstract int DoSomething(); //要讓UC使用的method
}

為什麼要這麼做呢,原因就是當你的web page繼承了此類別,
在UC的部分我們就可以抓到這個抽象類別,
將之實體化後便可以去使用DoSomething這個方法了!

所以接下來,將原本的webpage去繼承我們的類別:
public partial class UserControl_Default : AbstractBaseClass
{
protected void Page_Load(object sender, EventArgs e)
{

}
public override int DoSomething()
{
return 100;
}
}
接下來,在此Page內的User Control即可以使用這個method了~~萬歲!
public partial class UserControl_WebUserControlA : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
AbstractBaseClass page = (AbstractBaseClass)Page;
int iResult = page.DoSomething();
}
}
arrow
arrow
    全站熱搜

    pikachumk2 發表在 痞客邦 留言(0) 人氣()