MVC 4 Razor对象不支持属性或方法’dataTable’
我是MVC,jquery和DataTables的菜鸟。 当我点击F5构建并在本地启动站点进行开发/调试时,我得到一个Microsoft Visual Studio警告对话框:
JavaScript运行时错误:对象不支持属性或方法’dataTable’
我正在使用VS 2012和MVC 4项目。 我使用NuGet包管理器为我的解决方案安装\ update jQuery 1.8.3和jquery.datatables 1.9.4。 这是我的Index.cshtml视图代码:
$(document).ready(function () { $('#table_id').dataTable({ }); }); Column 1 Column 2 Row 1 Data 1 Row 1 Data 2 Row 2 Data 1 Row 2 Data 2
这似乎是一个引用问题,但我没有尝试解决问题!
我搜索了博客,但无法找到答案,或者可能了解需要改变的内容。 我们将非常感谢您的直接答复!
谢谢!
我想你可能会尝试评论这些内容:
@ Scripts.Render( “〜/捆绑/ jquery的”)
@RenderSection(“scripts”,必需:false)
它们位于“_Layout.cshtml”页面的末尾。
希望它有意义
既然你在MVC中提到你是一个新手(我不喜欢noob这个词),我认为你在多个视图中声明了jQuery(就像你上面所做的那样)。 我正在为您的代码提供示例布局,如果您希望遵循它
jQuery和任何其他库,只应该只包含在你的html中一次,理想情况是在页面底部,就在正文结束标记之前
如果在代码的后面,你再次包含jQuery,那么它将覆盖前一个,其中附有dataTable插件
最好在实际的浏览器(chrome,firefox,IE)中检查而不是Visual Studio。 在Chrome中,按F12打开开发人员工具,然后按Esc打开控制台。 看到那里有任何错误?
代码的示例布局可能如下所示。 这是主视图文件(如果我没有记错,默认情况下它在Views> Shared> _Layout.cshtml中)
... @if (IsSectionDefined("Styles")) { @RenderSection("Styles") } ... ... @if (IsSectionDefined("Scripts")) { @RenderSection("Scripts") }
您可以为每个视图添加任何特定样式/脚本,如此
... ... @section Styles { } @section Scripts { }
希望能帮助到你
好,
删除数据表的()之间的{}
像这样写
$(document).ready(function () { $('#table_id').dataTable(); });
小提琴的例子
如果要向数据表添加选项,请使用{}以使用选项
像这样:
$(document).ready(function() { $('#example').dataTable( { "bPaginate": false, "bLengthChange": false, "bFilter": true, "bSort": false, "bInfo": false, "bAutoWidth": false } ); } );
见例子