10

我应该如何从子页面访问母版页的公共方法?

用户大师.master.vb

 Public Sub UpdateCart()
 End Sub

默认.aspx.cs

如何UpdateCart()从 Default.aspx.cs 页面访问?

4

3 回答 3

27

从您的内容页面,您可以使用它来实现要求并确保将其标记为不受保护的公共:

VB

TryCast(Me.Master, MyMasterPage).UpdateCart()

C#

(this.Master as MyMasterPage).UpdateCart();
于 2013-10-09T07:00:17.160 回答
3

像这样做:

SiteMaster master = new SiteMaster();
//now call the master page method
master.test()

例子

//master page code behind
public partial class SiteMaster : System.Web.UI.MasterPage
{

    protected void Page_Load(object sender, EventArgs e)
    {
    }

    //test method
    public void test()
    {
    }

}

//content page code behind
public partial class About : System.Web.UI.Page
{

    protected void Page_Load(object sender, EventArgs e)
    {
        SiteMaster master = new SiteMaster();
        master.test();
    }

}
于 2013-10-09T07:04:10.170 回答
2

或者制作SiteMaster方法static并直接调用它:

SiteMaster.MyStaticMethod()
于 2018-03-07T08:30:22.893 回答