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修復?