KendoUI网格过滤器无法正常工作

时间:2012-07-17 16:38:26

标签: asp.net-mvc-3 filtering kendo-ui

我刚开始使用Kendo UI。我有一个.NET MVC Razor项目,其中包括一个Kendo Grid。我的页面加载很好并且看起来很好 - 数据在网格中,但我有两个问题:

  1. 当我点击“过滤器”图标时,没有任何反应(没有弹出,没有任何内容)

  2. 当我运行页面时,我在kendo.all.min.js文件中的visual studio中收到错误(Error: Microsoft JScript runtime error: Object doesn't suport this action. Code highlighted reads "d.transport=new n.data.transports[a.type](c(h,{data:i}))"在firebug中运行会出现此错误:"n.data.transports[a.type] is not a constructor"

  3. 我正在使用List(CustomViewModel)类型的Model。我已将以下脚本和css添加到我的_Layout局部视图中:          
        

    <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/jquery.min.js")" type="text/javascript"></script>
    <script src="@Url.Content("~/Scripts/kendo.all.min.js")" type="text/javascript"></script>
    

    (我尝试在“kendo.all.min”的位置使用“kendo.web.min”和“kendo.aspnetmvc.min”并得到相同的结果,但错误在kendo.web.min中的.js)

    我的页面如下:

    @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; }
    }
    

    我注意到在剑道示例(http://demos.kendoui.com/web/grid/local-data.html)中,当光标位于过滤器图标上方时,光标就是一只手。在我的页面上,当光标位于过滤器图标上时,光标是一个箭头。

    排序工作正常。我还调整了这个例子,让选择和编辑按钮工作正常,但过滤器不起作用。

    我尝试在Kendo论坛上发帖,但没有得到回复。

1 个答案:

答案 0 :(得分:5)

试试这个:

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

<script src="@Url.Content("~/Scripts/kendo.web.min.js")"></script>
<script src="@Url.Content("~/Scripts/kendo.aspnetmvc.min.js")"></script>

有关详细信息,请参阅:http://www.kendoui.com/documentation/asp-net-mvc/introduction.aspx

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