我刚开始使用Kendo UI。我有一个.NET MVC Razor项目,其中包括一个Kendo Grid。我的页面加载很好并且看起来很好 - 数据在网格中,但我有两个问题:
当我点击“过滤器”图标时,没有任何反应(没有弹出,没有任何内容)
当我运行页面时,我在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"
我正在使用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论坛上发帖,但没有得到回复。
答案 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()选项。