Если вы мне нравитесь, подумайте, что создание отдельных моделей представлений только для сетки Telerik - это излишне, вы можете передать свой собственный Json в сетку, созданную из списка анонимных объектов:
//This goes in the View:
Html.Telerik().Grid(Model)
.Name("Grid")
.Columns(columns =>
{
// your column mappings go here
})
.DataBinding(dataBinding => dataBinding.Ajax().Select("_yourMethodReturningJson", "YourControllerName", new { yourJsonMethodParameter = yourViewModel.someField }))
.Pageable()
.Sortable()
.Render();
Иметод Json в вашем контроллере выглядит следующим образом:
public JsonResult _yourMethodReturningJson(YourType? yourJsonMethodParameter)
{
var list = database.SomeCollection.Select(x => new
{
SomeColumnName = x.SomeField
});
return Json(list, JsonRequestBehavior.AllowGet);
}
Здесь вы можете использовать лучшую библиотеку Json, если вам нравится: http://james.newtonking.com/pages/json-net.aspx