0

各ビューに固有のスクリプト/スタイルを head タグに追加するために、umbraco:Macro タグを使用して、ビューの 1 つに razor @section を作成しようとしています。私の現在のコードは次のようになります(マスターページのヘッドセクション):

<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width" />
    <link rel="stylesheet" type="text/css" href="/css/foundation.min.css">
    <script type="text/javascript" src="/js/jquery-1.10.1.min.js"></script>
    <script type="text/javascript" src="/js/responsiveslides.js"></script>
    <script type="text/javascript" src="/js/js.js"></script>

<umbraco:Macro runat="server" language="cshtml">
    @if(IsSectionDefined("JSIncludes"))
    {
        @RenderSection("JSIncludes")
    }
    @if(IsSectionDefined("CSSIncludes"))
    {
        @RenderSection("CSSIncludes")
    }
</umbraco:Macro>
</head>

そしてこれ(ビューの実際のセクション):

<asp:Content ContentPlaceHolderId="ContentPlaceHolderDefault" runat="server">
<umbraco:Macro runat="server" language="cshtml">
    @section JSIncludes
    {
        <script type="text/javascript" src="/js/main_page.js"></script>
    }
</umbraco:Macro>

しかし、ページを開こうとすると、ページの上部に「Error loading MacroEngine script (file: )」というエラーが表示されます。誰かがこれの理由を知っていますか?誰かがこのようなものを適切に追加する方法を知っていれば、素晴らしいでしょう。前もって感謝します。

4

1 に答える 1

1

ページ固有のスクリプト参照を追加するためにカミソリ マクロを使用する必要はありません。ContentPlaceHolder

マスター ページ:

<head>   
  <asp:ContentPlaceHolder ID="PageScripts" runat="server" />
  <asp:ContentPlaceHolder ID="PageStyles" runat="server" />

コンテンツページ:

<asp:Content ID="PageScript" runat="server" ContentPlaceHolderID="PageScripts">
    <script type="text/javascript" src="/js/main_page.js"></script>
</asp:Content>

参照

于 2013-11-06T13:25:05.603 に答える