【问题标题】:Dotnet Core 1.1 MVC Javascript placed inside @section Scripts{ } is not rendered放置在 @section Scripts{ } 中的 Dotnet Core 1.1 MVC Javascript 未呈现
【发布时间】:2017-12-12 05:02:57
【问题描述】:

我正在编写一个使用 dotnet core 1.1 MVC 的 Web 应用程序。我无法弄清楚为什么没有呈现放置在 @section 中的 javascript?

我验证了我的 _Layout.cshtml 是否包含

@RenderSection("Scripts", required: false)
</body> 

以下是我的观点。为简洁起见,我已经合并了代码。

(不起作用)

创建.cshtml:

<h2>Create</h2>
@{Html.RenderPartial("_CreateOrEdit", Model);}

@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");} 

_CreateOrEdit.cshtml

<div class="row">
    <a asp-action="Index">Back to List</a>
</div>


@section Scripts
{
<script type="text/javascript">
        $(document).ready(function () {
            $('.datepicker').datepicker({
                format: "dd.mm.yyyy",
                todayBtn: "linked",
                language: "de"
            });
        });
</script>
} 

我面临的挑战是。 _CreateOrEdit.cshtml 中的上述脚本部分未呈现。

但是,如果我将此脚本放置在 Create.cshtml 中的 Scripts 部分中,如下所示,它会被渲染..我做错了什么。?

(作品)

创建.cshtml

<h2>Create</h2>
@{Html.RenderPartial("_CreateOrEdit", Model);}


@section Scripts {
    @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} 

<script type="text/javascript">
        $(document).ready(function () {
            $('.datepicker').datepicker({
                format: "dd.mm.yyyy",
                todayBtn: "linked",
                language: "de"
            });
        });
</script>
} 

_CreateOrEdit.cshtml

<div class="row">
    <a asp-action="Index">Back to List</a>
</div>

【问题讨论】:

  • 能否请您发布_ValidationScriptsPartial 的完整内容?同样在不起作用的示例中,您可以发布更多位于您发布的代码下方的代码吗?

标签: javascript asp.net-mvc razor .net-core sections


【解决方案1】:

在局部视图中,您可以将 @Scripts.Render("~/Scripts/myScript.js") 用于 .js 文件,将 @Styles.Render("~/Content/myStylesheet.css") 用于 css 文件。

但是,值得一提的是,如果您的脚本依赖于其他包含的脚本,例如 jquery,那么您可能会遇到问题,因为您不一定能保证脚本加载的顺序。

建议在父页面(或 _layout,如果站点范围内需要它)上包含脚本,而不是在部分视图中

【讨论】:

    猜你喜欢
    • 2017-05-08
    • 1970-01-01
    • 1970-01-01
    • 2017-08-28
    • 2017-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-05
    相关资源
    最近更新 更多