【问题标题】:Flex Grid not rendering in Orchard CMSFlex Grid 未在 Orchard CMS 中呈现
【发布时间】:2014-09-17 07:09:43
【问题描述】:

我不明白为什么 Flex Grid 没有在我的 orchard 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>

}

资源清单

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


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

目前显示

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

控制台错误

【问题讨论】:

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


    【解决方案1】:

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

    另外,给你一些提示:

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

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

    4. 我认为 Orchard 中没有名为“脚本”的部分。请改用以下内容:

    @using (Script.Foot()) {

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

    }

    编辑:

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

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

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

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

    【讨论】:

    • 请根据您的建议查看修改后的代码,但仍然无法正常工作。
    • 使用 ResourceManifest 时,您必须使用 Script.Require() 方法。对于手动包含,您可以使用Script.Include()
    • 谢谢它的工作,但我猜它没有正确地选择风格。
    • 我修改了代码只显示两列。它出现了,但风格不起作用。我附上了两个图像文件。首先是我的网格,它显示了两列没有布局。第二个是原始的 flexgrid 项目,它显示了正确的布局。
    • 您的脚本是否正确加载?并以正确的顺序?任何控制台错误?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 1970-01-01
    • 2015-10-27
    相关资源
    最近更新 更多