我正在尝试建立一个基本的Mvc.Jquery.Datatables runthrough。我在顶部得到一个额外的行,这不是预期的过滤行。
后台有一个脚本错误'未捕获的TypeError:{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>
答案 0 :(得分:1)
我认为您的列过滤器扩展程序缺少脚本标记。比较示例页面的引用。
还要确保您使用的是EmbeddedResourceVirtualPathProvider或安装了模板项目