1

我的母版页中有一个自定义用户控件,它将站点范围的 JavaScript 库加载到母版页的头部

像这样:

<html>
    <head>
        <CustomControl:MyScriptControl id="scripts" runat="server" />
    </head>

    <body>

        <asp:ContententPlaceHolder id="pageContent" runat="server" />

    </body>

</html>

我想让使用 MasterPage 的页面本质上调用用户控件MyScriptControl的方法

public partial class ChildPage: System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

          //// Invoke Method of MasterPage's UserControl: MyScriptControl

    }
}

这可能吗 ?还是有更好的方法来做到这一点?

4

2 回答 2

2

第 1 步:在您的 aspx 页面中添加 MasterType 指令
第 2 步:在您的母版页中创建一个公共方法,该方法将调用您的 usercontrol 方法。
第 3 步:在您的页面中,您可以使用 Master.Method() 调用该方法

于 2013-02-22T08:55:59.443 回答
1

您应该在页面中使用MasterType指令。

使用 MasterType,您的页面Master属性将属于您的母版页的类型,而不是基类的类型MasterPage。你应该能够做类似的事情

protected void Page_Load(object sender, EventArgs e) {
    Master.scripts.SomeMethod();
}
于 2013-02-22T08:19:27.387 回答