如何使用 MVC Razor 在编辑器模板中将 Kendo UI Grid 绑定到我的模型集合
Posted
技术标签:
【中文标题】如何使用 MVC Razor 在编辑器模板中将 Kendo UI Grid 绑定到我的模型集合【英文标题】:How to bind a Kendo UI Grid to a collection of my model in an editor template using MVC Razor 【发布时间】:2014-05-21 08:11:42 【问题描述】:我有一个基于类似模型的网格
public class UserModel
...
public IList<UserOrgModel> UserOrg get; set;
...
此 Grid 设置为 .Editable(e => e.Mode(GridEditMode.PopUp).TemplateName("...")
并打开此 editorTemplate 以编辑我选择的行(通过按操作按钮)。
此编辑器模板还包含一个将绑定到我的集合的网格。
我是这样定义我的网格的
@(html.Kendo().Grid(Model.UserOrg)
.Name("blabla")
.Columns(col =>
col.Bound(c => c.Id);
)
)
当我这样做时,基于我的收藏的网格总是空的。 任何想法如何使用 Kendo UI 及其网格来做我想做的事。我不知道如何将我的网格与模型的“集合”绑定。
【问题讨论】:
您是否尝试在网格中使用网格?并且您希望将“内部”网格绑定到集合? 使用 Kendo,您可以使用设置为 .Mode(GridEditMode.Popup) 的属性更新行...此弹出窗口打开定义的 EditorTemplate。在这个模板中需要另一个网格。 【参考方案1】:我在这里找到了答案: Grid Popup Editing Navigation Property Collection with nested Grid
我下载了演示,我想要的一切都在那里。这正是我想要的!
【讨论】:
【参考方案2】:老实说,我没有完全理解你的问题。但是,如果您尝试将网格绑定到模型中的集合。给你:
在 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
我认为您想要的是在您使用 column.EditorTemplateName("..")
引用的 ~\View\Shared\EditorTemplates
文件夹中创建一个编辑器模板。
【讨论】:
我编辑了我的问题...也许你会理解得更好以上是关于如何使用 MVC Razor 在编辑器模板中将 Kendo UI Grid 绑定到我的模型集合的主要内容,如果未能解决你的问题,请参考以下文章
在 Razor 语法中为 Telerik MVC Grid 定义模板列
如何在 Visual Studio 2017 的 ASP.NET MVC 中创建自定义生成/脚手架模板(Razor)?
如何使用 Blazor 和 NetCore 5 在电子邮件中将 razor 组件作为正文发送?
在 asp.net mvc razor 应用程序中将 Datetime C# 类型转换为 Date javascript