ASPNET MVC 4 应用程序中的 Jquery 脚本顺序

2023-12-20

我正在使用 jqgrid 开发 ASPNET MVC 4 项目。

那里,ASPNET MVC 4 默认放置

@Scripts.Render("~/bundles/jquery")

在 _Layout.cshtml 文件末尾。

现在,我有一个 Index.cshtml,它使用 jqgrid 就像

<script type="text/javascript">
    jQuery("#ajaxGrid").jqGrid({

所以我必须包含 jqgrid 脚本,例如

@section jqgridScripts
{
    <script src="@Url.Content("~/Scripts/jqgrid/i18n/grid.locale-en.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jqgrid/js/jquery.jqGrid.min.js")" type="text/javascript"></script>
}

但在使用 .jqgrid 进行任何操作之前,我需要加载 jqgrid 脚本,而这又需要加载 jquery 脚本,因此,jquery 脚本需要位于顶部而不是位于 _Layout.cshtml 文件的末尾。

根据最佳实践,jquery 脚本需要在文件末尾加载,但如果我这样做,在 Index.cshtml 文件中它不知道 jQuery 是什么。

我无法将 jqquery 脚本和下面的 jqgrid 脚本放在 _Layout.cshtml 文件的底部,因为上面是使用 jqgrid 脚本的 Index.cshtml 文件内容。

为了能够将 jQuery 放在最后并且仍然能够在视图中使用 jquery 的某些东西,我是否缺少一些东西?

谢谢!吉列尔莫.


__布局.cshtml:

@Scripts.Render("~/bundles/jquery")
@RenderSection("jqgridScripts", required: false);

@* for script in current page *@
@RenderSection("pageScripts", required: false);

索引.cshtml:

@section pageScripts
{
<script type="text/javascript">
    jQuery("#ajaxGrid").jqGrid({
    ... 
</script>
}

但最佳实践是为您的代码创建一个单独的 javascript 文件,如下所示:

__布局.cshtml:

@Scripts.Render("~/bundles/jquery")
@RenderSection("pageScripts", required: false);

索引.cshtml:

@section pageScripts
{
    <script src="@Url.Content("~/Scripts/jqgrid/i18n/grid.locale-en.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jqgrid/js/jquery.jqGrid.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/Site/myscript.js")" type="text/javascript"></script>
}

myscript.js:

$(function() {

   jQuery("#ajaxGrid").jqGrid({ ... });

});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASPNET MVC 4 应用程序中的 Jquery 脚本顺序 的相关文章