过滤器列不显示

时间:2013-11-13 23:13:12

标签: asp.net-mvc-4 jquery-datatables

我正在尝试建立一个基本的Mvc.Jquery.Datatables runthrough。我在顶部得到一个额外的行,这不是预期的过滤行。

Datatables with double header

后台有一个脚本错误'未捕获的TypeError:{object Object}没有方法'columnFilter',如下所示 Uncaught TypeError: {object Object} has no method '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>

1 个答案:

答案 0 :(得分:1)

我认为您的列过滤器扩展程序缺少脚本标记。比较示例页面的引用。

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