我可以将Ignite UI脚本放在页面底部吗?

时间:2014-10-29 15:24:53

标签: javascript asp.net-mvc-4 razor infragistics ignite-ui

Ignite UI boilerplate已在页面顶部加载了所有JavaScript文件。这与我在Infragistics网站上找到的every other example一致。

我想在页面底部加载这些文件。但是,当我尝试这样做时,我收到一个JavaScript错误:

ReferenceError: $ is not defined

在视图中,我使用Grid HTML帮助器,如此(简化):

@model IQueryable<Product>

@( Html.Infragistics().Grid( Model ).DataBind().Render() )

这会在页面上产生以下输出:

<table id="Grid1"></table>
<script type="text/javascript">$(function () {$('#Grid1').igGrid({ ... });</script>

如果我可以告诉Infragistics将script标记放在页面底部,在加载jQuery,jQuery UI等之后,一切都会很好。有没有办法可以做到这一点,仍然使用HTML助手?

1 个答案:

答案 0 :(得分:0)

您可以使用Infragistics Loader引用JavaScript资源。

在CSHTML中,您将拥有:

<script src="Scripts/infragistics.loader.js" type="text/javascript"></script>

在另一个脚本标记中,您将拥有以下内容:

$.ig.loader({
scriptPath: '{IG Resources root}/js/',
cssPath: '{IG Resources root}/css/'}); 

$.ig.loader('igGrid.Paging.Updating', 
     function () {
     // Create a couple of igGrids 
        $("#grid1").igGrid({
        virtualization: false,
        autoGenerateColumns: true,
        jQueryTemplating: false,
     // and other}

在此处详细了解:http://help.infragistics.com/Help/Doc/jQuery/2013.1/CLR4.0/html/Deployment_Guide_JavaScript_Resources.html#referencing_resources