Flex Grid不在Orchard CMS中呈现

时间:2014-09-17 07:09:44

标签: javascript jquery asp.net-mvc-4 orchardcms orchardcms-1.7

我不明白为什么Flex Grid不在我的果园cms项目中渲染。相同的代码在单独的项目中运行,但在此处不起作用。下面是页面的代码。我已经验证了脚本和样式表的路径,两者都是正确的。

查看

@ {

Script.Include("navigation-admin.js");
Script.Require("jQuery");
Script.Require("jQueryUI");
Script.Require("flexgrid");

Style.Include("flexgrid.css");
Style.Include("flexgrid.pack.css");
}

<table id="jobListing" style="display: none"></table>

@using (Script.Foot()) { 

<script type="text/javascript">

    $(document).ready(function () {
        $('#jobListing').flexigrid({
            url: '/Member/List',
            dataType: 'json',
            colModel: [
                {
                    display: 'Caption',
                    name: 'Caption',
                    width: 180,
                    sortable: true,
                    align: 'left'
                }, {
                    display: 'Name',
                    name: 'Name',
                    width: 180,
                    sortable: true,
                    align: 'left'
                }, ]
        });
    });        

</script>

}

ResourceManifest

    public void BuildManifests(ResourceManifestBuilder builder)
    {
        // Create and add a new manifest
        var manifest = builder.Add();


        manifest.DefineScript("flexgrid").SetUrl("flexigrid.pack.js", "flexigrid.js");        
    }

目前正在显示

enter image description here

应该显示这样的布局(不是数据或列)

enter image description here

控制台错误

enter image description here

1 个答案:

答案 0 :(得分:1)

我认为您需要将$('#jobListing').flexigrid({ .. });移至文档就绪部分。

另外,给你一些提示:

  1. 您应该将您的脚本和样式添加到ResourceManifest
  2. 如果您不使用ResourceManifest,请改用Script.Include("PathToScript")

  3. 您应该使用Script.Require("jQuery")而不是自己要求它(可能会注入两次)

  4. 我不认为Orchard中有一个名为Scripts的部分。请改用以下内容:
  5. @using(Script.Foot()){

    <script type="text/javascript">
    
        //<![CDATA[
        $(document).ready(function () {
    
            [.....your code here.....]
        });
        //]]>
    
    </script>
    

    }

    修改

    查看您的控制台错误,我说您错过了Scripts and Styles文件夹中的web.config。

    &#34;默认情况下,Orchard设置为限制文件夹权限。这通常通过根据需要向每个文件夹添加web.config(在本例中为您的脚本文件夹)来覆盖。

    如果您使用codegen模块生成模块,那么这将作为生成的一部分为您完成。如果没有,那么你需要自己添加web.config。&#34;

    来源:Orchard CMS : Javascript file returns 404 not found even though it exists