如何使用MVC Razor在编辑器模板中将Kendo UI Grid绑定到我的模型集合

时间:2014-04-08 14:36:51

标签: c# razor kendo-ui kendo-grid kendo-asp.net-mvc

我有一个基于类似于

的模型的网格
public class UserModel
{
  ...
  public IList<UserOrgModel> UserOrg {get; set;}
  ...
}

此网格设置为.Editable(e => e.Mode(GridEditMode.PopUp).TemplateName("...")并打开此editorTemplate以编辑我选择的行(通过按Action按钮)。

此编辑器模板还包含一个将绑定到我的集合的网格。

我以这种方式定义了我的网格

@(Html.Kendo().Grid(Model.UserOrg)
  .Name("blabla")
  .Columns(col => 
  {
    col.Bound(c => c.Id);
  })
)

当我这样做时,基于我的集合的网格总是空的。 任何想法如何使用Kendo UI及其网格来做我想要的。我不知道如何将我的网格绑定到我的模型的“集合”。

2 个答案:

答案 0 :(得分:5)

我在这里找到了答案: Grid Popup Editing Navigation Property Collection with nested Grid

我下载了演示,我想要的就是那里。这正是我想要的!

答案 1 :(得分:1)

老实说,我并不完全理解你的问题。但是,如果您尝试将网格绑定到模型中的集合。你走了:

在Kendo UI在线演示中,this example may help you。滚动到页面的底部,单击“ASP.NET MVC”,然后单击“local_data.cshtml”。以下是编辑的代码示例,更像您的示例:

@model UserModel

@(Html.Kendo().Grid(Model.UserOrg)
    .Name("Grid")
    .Columns(columns =>
    {
        //set up your columns here
        columns.Bound(u => u.Name).Title("Name");
    })
    .Pageable()
    .Sortable()
    .Scrollable(scr=>scr.Height(430)) 
    .Filterable()    
    .DataSource(dataSource => dataSource        
        .Ajax()
        .PageSize(20)
        .ServerOperation(false)        
     )
)

<强>更新

我找到了另一篇可能对您有帮助的SO文章:Kendoui MVC EditorTemplateName do not work in PopUp edit mode

我认为你想要的是在你使用~\View\Shared\EditorTemplates引用的column.EditorTemplateName("..")文件夹中创建一个编辑器模板。