3
我的模型包含一个枚举,我希望在通过AJAX加载时过滤网格。Kendo使用枚举的网格过滤
.cshtml代码:
@(Html.Kendo().Grid()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(x => x.Type);
columns.Bound(x => x.Status); @*This is my enum*@
})
.Filterable()
.DataSource(ds => ds
.Ajax()
.ServerOperation(true)
.Filter(filter => filter.Add(x => x.Status).IsEqualTo(MyEnum.Updated))
.Read(read => read.Action("QueryAlerts", "Alert"))))
在AJAX POST滤波器请求跨越打算作为Status~eq~'updated'
并返回一个错误Input string was not in a correct format
。
我删除了数据源上的过滤,并使用过滤控件查看该请求通常如何通过,如下所示:Status~eq~2
。
我试着将过滤器值转换为整数(例如filter.Add(x => (int)x.Status).IsEqualTo((int)MyEnum.Updated)
),并导致从Add方法预期的模型中Int32发生无效的转换错误。
这个问题可以使用Razor解决,或者这是一个JavaScript修复?