无法在剃刀模板中渲染脚本

时间:2015-03-23 16:07:50

标签: asp.net-mvc asp.net-mvc-4 razor c1-cms

我使用带有剃刀主模板的复合c1 .net cms创建我的网站。 但是我无法在masterlayout中渲染脚本。这是我的剃刀文件。

1.MaserLayout.cshtml

@inherits CompositeC1WebPage
@{
    string websiteTitle = HomePageNode.Title;
}
    <!DOCTYPE html>
      <html xmlns="http://www.w3.org/1999/xhtml" class="no-js" lang="@Lang">
            <head>
                <title>@CurrentPageNode.Title</title>
                @if (!string.IsNullOrEmpty(CurrentPageNode.Description))
                {
                <meta name="description" content="@CurrentPageNode.Description" />
                }
                @PageTemplateFeature("Descriptive HTML head elements")
            </head>
            <body>

                <div class="container-fluid main-container">
                    @* renders the sub template: *@
                    @RenderBody()
                </div>
            </body>
        </html>

以上是我的主模板,这是我的主页模板

@inherits RazorPageTemplate
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    @*you can add template specific head elements here*@
</head>
<body class="frontpage">
    <div>Test template</div>
    <script>

        $(document).ready(function () {
            $('.test').click(function () {
                alert("test");
            })
        });
    </script>
</body>
</html>

但是我无法在母版页中运行脚本。任何人都可以帮忙。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

如果Composit-c1使用了一些非默认的特殊剃刀功能/流程,请忽略此评论

我认为它与composit-c1 razor无关,你应该在主页中定义布局以使用母版页。 &安培;您的母版页中也没有定义任何脚本。

在派生页面中,您不能创建完整的DOM结构(html,head&amp; body等标签)