pol*_*kyg 7 javascript asp.net-mvc jquery jqgrid asp.net-mvc-4
我正在使用jqgrid开发ASPNET MVC 4项目.
在那里,ASPNET MVC 4默认放置
@Scripts.Render("~/bundles/jquery")
Run Code Online (Sandbox Code Playgroud)
在_Layout.cshtml文件的末尾.
现在,我有一个使用jqgrid的Index.cshtml
<script type="text/javascript">
jQuery("#ajaxGrid").jqGrid({
Run Code Online (Sandbox Code Playgroud)
所以我必须包括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>
}
Run Code Online (Sandbox Code Playgroud)
但在使用.jqgrid之前,我需要加载jqgrid脚本,而这需要加载jquery脚本,因此,jquery脚本需要位于_Layout.cshtml文件的顶部而不是末尾.
根据最佳实践,需要在文件末尾加载jquery脚本,但是如果我这样做,在Index.cshtml文件中它不知道jQuery是什么.
我不能把jqquery脚本和jqgrid脚本放在_Layout.cshtml文件的底部,因为上面是使用jqgrid脚本的Index.cshtml文件内容.
是否有一些我缺少的东西,以便能够在结束时放置jQuery并仍然能够在视图中使用jquery的东西?
谢谢!吉列尔莫.
and*_*lzo 14
__Layout.cshtml:
@Scripts.Render("~/bundles/jquery")
@RenderSection("jqgridScripts", required: false);
@* for script in current page *@
@RenderSection("pageScripts", required: false);
Run Code Online (Sandbox Code Playgroud)
Index.cshtml:
@section pageScripts
{
<script type="text/javascript">
jQuery("#ajaxGrid").jqGrid({
...
</script>
}
Run Code Online (Sandbox Code Playgroud)
但最好的做法是在代码中使用单独的javascript文件,如下所示:
__Layout.cshtml:
@Scripts.Render("~/bundles/jquery")
@RenderSection("pageScripts", required: false);
Run Code Online (Sandbox Code Playgroud)
Index.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>
}
Run Code Online (Sandbox Code Playgroud)
myscript.js:
$(function() {
jQuery("#ajaxGrid").jqGrid({ ... });
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7085 次 |
| 最近记录: |