如何在嵌套的母版页中放置javascript

时间:2012-08-09 17:40:26

标签: javascript asp.net

我的情况是,在具有嵌套母版页的页面上需要有一个java脚本。我真的不确定在哪里/如何添加javascript。

我的布局如下: Master.masterpage(顶级母版页); Client.MasterPage(inheirts Master.masterpage) assort.aspx(inheirts client.masterpage);

在assort.aspx中,我需要提供以下javascript,因此在onclick上会弹出一个新窗口。

function ShowPopUpDialog(url) {
    window.open(url, 'MyPopUpWindow', 'height = 300px, width = 300px', true);
}

我在哪里/如何放置javascript。我只想在assort.aspx上激活它,所以我应该只将它放在Client.Masterpage上吗?如果不在哪里,我把它放在assort.aspx?没有头部。

这是我的Client.MasterPage:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link href="css/valet.css" rel="stylesheet" type="text/css" />
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContactPlaceHolder_Header" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder_Navigation" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder_Content" runat="Server">
    <div class="InfoContainer">
        <asp:ContentPlaceHolder ID="ContentInfo" runat="server">
        </asp:ContentPlaceHolder>
    </div>
    <div class="CRadGrid">
        <asp:ContentPlaceHolder ID="RadGridPlaceHolder" runat="server">
        </asp:ContentPlaceHolder>
    </div>
    <div class="MultiPage">
    <asp:ContentPlaceHolder ID="MultiPageContainer" runat="server">
        </asp:ContentPlaceHolder>
    </div>
</asp:Content>

我的assort.aspx:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentInfo" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="RadGridPlaceHolder" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="MultiPageContainer" Runat="Server">
</asp:Content>

1 个答案:

答案 0 :(得分:0)

如果此页面是例外,我会建议KISS原则,即将脚本标记放在靠近它的位置。如果您需要更多页面上的更多脚本,那么内容占位符可能更适合。

客户母版页:

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    <link href="css/valet.css" rel="stylesheet" type="text/css" />

    <asp:ContentPlaceHolder ID="ClientHead" runat="server">

    </asp:ContentPlaceHolder>
</asp:Content>

Assort.aspx

<asp:Content ID="Content5" ContentPlaceHolderID="ClientHead" Runat="Server">        
   <script>
       function ShowPopUpDialog(url) {
          window.open(url, 'MyPopUpWindow', 'height = 300px, width = 300px', true);
       }
   </script>
</asp:Content>