2015-06-04 1 views
3

У меня есть сетка кендо с поддержкой ajax с шаблоном клиента, который отображает данные из модели, с которой связана строка. (из-за AJAX, используя columns.Template кажется, не возможно.)Частичный вид в столбце сетки кендо

@(Html.Kendo().Grid<Model>() 
    .Columns(columns => 
    { 
     columns.Bound(x => x.SubModel).ClientTemplate("bla #= SomePropertyOfSubModel # bla") 
    }) 
    .DataSource(dataSource => dataSource.Ajax()) 

Это работает в основном, но я не доволен результатом. Например, у меня есть проблемы с созданием элементов управления кендо в работе шаблона. Я скорее предпочел бы частичное представление в шаблоне клиента, но не получилось. Дальше я получил

columns.Bound(x => x.SubModel).ClientTemplate(Html.PartialView("view", //??) //how to bind to SubModel? 
.ToHtmlString()) 

Любая помощь приветствуется.

ответ

2

Я думаю, что вам нужно .ToClientTemplate() в шаблоне управления кендо,

view.cshtml

@(Html.Kendo().NumericTextBox() 
     .Name("NameHere") 
     .Min(0) 
     .HtmlAttributes(new { style = "width:200px" }) 
     .ToClientTemplate()         
) 

А потом,

columns.Bound(c => c.SubModel).ClientTemplate(Html.Partial("view").ToHtmlString()); 

Edit:

Если вы хотите связать модель до частичного просмотра, вы можете сделать

columns.Bound(c => c.SubModel.Property).Template(@<text>Html.Partial("view", item.SubModel)</text>); 
+0

Привет, могу ли я привязать частичный вид к x.SubModel? – AGuyCalledGerald

+0

@AGuyCalledGerald, я отредактировал ответ. Или я, возможно, не совсем понял вопрос –

+0

, спасибо, но я думаю, что не могу использовать Template, потому что моя сетка была включена в ajax – AGuyCalledGerald