0

我正在尝试设置一个基本的 Mvc.Jquery.Datatables 贯穿。我在顶部得到了一个额外的行,这不是预期的过滤器行。

带有双标题的数据表

后台有脚本错误'Uncaught TypeError: {object Object} has no method 'columnFilter' 如下图 未捕获的类型错误:{object Object} 没有方法“columnFilter”

我的索引视图是

@using DataTables.Controllers
@using Mvc.JQuery.Datatables
@using Mvc.JQuery.Datatables.Serialization

<script src="~/Content/DataTables/media/js/jquery.js"></script>
<script src="~/Content/DataTables/media/js/jquery.dataTables.js"></script>
<link href="~/Content/DataTables/media/css/demo_table.css" rel="stylesheet" />

<h2>Datatables Demo</h2>

@{
    var vm = Html.DataTableVm("table", (HomeController h) => h.GetDataObject(null), null);
    vm.ColumnFilter = true;
    vm.StateSave = true;
}

@Html.Partial("DataTable", vm)

我的控制器代码是

public class HomeController : Controller
{

    public ActionResult Index()
    {
        var data = DataRepository.GetData();
        return View(data);
    }

    public DataTablesResult<MyDataObject> GetDataObject(DataTablesParam dataTablesParam)
    {
        var data = DataRepository.GetData().Select(o => o).AsQueryable();
        return DataTablesResult.Create(data, dataTablesParam);
    }

}

如何让排序行显示?谢谢。


** 解决方案 **

正如建议的那样,我错过了脚本

<script src="~/Content/jquery.dataTables.columnFilter.js"></script>
4

1 回答 1

1

我认为您缺少列过滤器扩展的脚本标记。将参考与示例页面进行比较。

还要确保您使用 EmbeddedResourceVirtualPathProvider 或安装了模板项目

于 2013-11-14T01:22:30.787 回答