Asp.net mvc 3 KendoUI网格过滤器不工作

Asp.net mvc 3 KendoUI网格过滤器不工作,asp.net-mvc-3,filtering,kendo-ui,Asp.net Mvc 3,Filtering,Kendo Ui,我只是从剑道UI开始。我有一个.NETMVCrazor项目,其中包括一个剑道网格。我的页面加载良好,看起来不错数据在网格中,但我有两个问题: 当我点击“过滤器”图标时,什么都没有发生(没有弹出窗口,什么都没有) 当我运行该页面时,我在visual studio中的kendo.all.min.js文件中发现一个错误(错误:Microsoft JScript运行时错误:对象不支持此操作。突出显示的代码显示为“d.transport=new n.data.transports[a.type](c(h,

我只是从剑道UI开始。我有一个.NETMVCrazor项目,其中包括一个剑道网格。我的页面加载良好,看起来不错数据在网格中,但我有两个问题:

  • 当我点击“过滤器”图标时,什么都没有发生(没有弹出窗口,什么都没有)

  • 当我运行该页面时,我在visual studio中的kendo.all.min.js文件中发现一个错误(
    错误:Microsoft JScript运行时错误:对象不支持此操作。突出显示的代码显示为“d.transport=new n.data.transports[a.type](c(h,{data:I}))”
    在firebug中运行时出现此错误:
    “n.data.transports[a.type]不是构造函数“

  • 我使用的模型类型为List(CustomViewModel)。我已将以下脚本和css添加到我的_布局局部视图中:

    我注意到在剑道示例()中,光标位于过滤器图标上方时是一只手,在我的页面上,光标位于过滤器图标上方时是一个箭头

    排序工作正常。我也对这个示例进行了一些调整,使选择和编辑按钮工作正常,但过滤器无法工作

    我试着在剑道论坛上发帖,但没有得到回复。

    试试这个:

    添加到ASP.NET MVC布局页面:

    <script src="@Url.Content("~/Scripts/kendo.web.min.js")"></script>
    <script src="@Url.Content("~/Scripts/kendo.aspnetmvc.min.js")"></script>
    
    
    
    有关更多信息,请参见:


    下载最新的脚本版本。显然早期版本的
    kendo.web.min
    没有.Filterable()选项。

    在布局中,我有:
    我的理解是kendo.all.min.js取代了kendo.web.min.js和kendo.aspnetmvc.min.js。我用您提供的脚本进行了尝试,结果是一样的。不过,谢谢。您是否在web.config中添加了对
    kendo.Mvc.UI
    命名空间的引用?是的。我将它添加到了我删除了
    web.min.js
    kendo.aspnetmvc.min.js
    并放入
    kendo.all.min.js
    ,我的过滤器不起作用。据我所知,
    kendo.all.min.js
    不包括MVC。我有一个旧版本的脚本。这解决了问题。
    @model List<CustomViewModel>
    ...
    @(Html.Kendo().Grid(Model)
        .Name("applicantGrid")
        .Columns(columns =>
        {
            columns.Bound(p => p.ApplicationID);
            columns.Bound(p => p.FirstName);
            columns.Bound(p => p.LastName);            
        })
    .Sortable()
    .Filterable()  
    .Pageable()        
    )
    
    public class CustomViewModel
    {
        [ScaffoldColumn(false)]
        public Guid CustomViewModelID { get; set; }
    
        [Display(Name = "First Name")]
        public string FirstName { get; set; }
    
        [Display(Name = "Last Name")]
        public string LastName { get; set; }
    }
    
    <script src="@Url.Content("~/Scripts/kendo.web.min.js")"></script>
    <script src="@Url.Content("~/Scripts/kendo.aspnetmvc.min.js")"></script>