Javascript Orchard CMS中未渲染Flex网格

Javascript Orchard CMS中未渲染Flex网格,javascript,jquery,asp.net-mvc-4,orchardcms,orchardcms-1.7,Javascript,Jquery,Asp.net Mvc 4,Orchardcms,Orchardcms 1.7,我不明白为什么我的orchard cms项目中没有渲染Flex网格。相同的代码在单独的项目中运行,但在这里不起作用。下面是第页的代码。我已经验证了脚本和样式表的路径,它们都是正确的 查看 @{ Script.Include("navigation-admin.js"); Script.Require("jQuery"); Script.Require("jQueryUI"); Script.Require("flexgrid"); Style.Include("flexgrid.css");

我不明白为什么我的orchard cms项目中没有渲染Flex网格。相同的代码在单独的项目中运行,但在这里不起作用。下面是第页的代码。我已经验证了脚本和样式表的路径,它们都是正确的

查看

@{

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>

}
当前显示

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

控制台错误


我认为您需要将
$(“#工作清单”).flexigrid({..})
移动到文档就绪部分

另外,给你一些提示:

  • 您应该将脚本和样式添加到ResourceManifest
  • 如果您不使用ResourceManifest,请改用
    Script.Include(“PathToScript”)

  • 您应该使用
    Script.Require(“jQuery”)
    而不是自己需要它(它可能被注入了两次)

  • 我认为Orchard中没有所谓脚本的部分。请使用以下内容:
  • @使用(Script.Foot()){

    
    //
    
    }

    编辑:

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

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

    如果您使用codegen模块生成模块,则这是生成的一部分。如果不是,则您需要自己添加web.config。”


    来源:

    请按照您的建议查看修改后的代码,但它仍然不起作用。使用ResourceManifest时,您必须使用
    Script.Require()
    方法。对于手动包含,您可以使用
    Script.Include()
    谢谢。我想它工作了,但没有正确地选择样式。我修改了代码,只显示了两列。它显示了,但样式不工作。我附加了两个图像文件。第一个是我的网格,显示了两列,没有布局。第二个是原始flexgrid项目,显示了正确的布局。您的脚本正确吗已加载?并且顺序正确?有控制台错误吗?
        public void BuildManifests(ResourceManifestBuilder builder)
        {
            // Create and add a new manifest
            var manifest = builder.Add();
    
    
            manifest.DefineScript("flexgrid").SetUrl("flexigrid.pack.js", "flexigrid.js");        
        }
    
    <script type="text/javascript">
    
        //<![CDATA[
        $(document).ready(function () {
    
            [.....your code here.....]
        });
        //]]>
    
    </script>