我不明白为什么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");
}
目前正在显示
应该显示这样的布局(不是数据或列)
控制台错误
答案 0 :(得分:1)
我认为您需要将$('#jobListing').flexigrid({ .. });
移至文档就绪部分。
另外,给你一些提示:
如果您不使用ResourceManifest,请改用Script.Include("PathToScript")
您应该使用Script.Require("jQuery")
而不是自己要求它(可能会注入两次)
@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