gpt4 book ai didi

asp.net-mvc - 如何重用和参数 Kendo UI 网格 EditorTemplate(使用 ASP MVC)?

转载 作者:行者123 更新时间:2023-12-04 03:56:22 24 4
gpt4 key购买 nike

我已经成功创建了一个用于网格内联编辑的 DropDownList EditorTemplate。成功。现在我想在多个列(同一网格)和/或具有不同网格的不同 View 中重用此模板。

到目前为止,我发现如果我省略模板中下拉列表的“名称”,那么模板会自动绑定(bind)到网格中引用它的该列(使用 .EditorTemplateName(...) )。然而,还有其他一些东西应该参数化(显式或隐式),首先是下拉数据源。

问:一个网格中有多个下拉列表,如何参数化下拉列表数据源以防止复制粘贴 DropDownListTemplate.cshtml 无数次?

问:在多列、多 View 中使用时,一般如何参数化该模板?

View :

@(Html.Kendo().Grid<Enumeration>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(e => e.Locale).Width(200)
.EditorTemplateName("DropDownListTemplate");
// columns.Bound(e => e.OtherColumn).Width(200)
// .EditorTemplateName("DropDownListTemplate", ???);

...模板名为 DropDownListTemplate.cshtml 并放置在/Views/Shared/EditorTemplates

@model string
@(Html.Kendo()
.DropDownListFor(m => m)
.BindTo(ViewBag.LocaleDropDownListDataSource) // <- Having many dropdown in one grid, how to parameterize this, without copy and paste the DropDownListTemplate.cshtml zillon times?
//.OptionLabel("Select Locale")
.DataValueField("Locale")
.DataTextField("Value")
//.Name("Locale") // Omitting this binds the template automatically to the referring column in the grid. Using a custom .Name, what is not a column name in the grid ruins the working
)

最佳答案

为什么要重新发明轮子,Kendo 已经为我们提供了可以无数次使用的 GridForeignKey 列。

模板代码

@model object

@(Html.Kendo().DropDownListFor(m => m)
.BindTo((SelectList)ViewData[ViewData.TemplateInfo.GetFullHtmlFieldName("") + "_Data"])
)

网格中的实现

columns.ForeignKey(col => col.DepartmentId, (IEnumerable) ViewBag.Departments, "Value", "Text").Title("Department");

Demo

关于asp.net-mvc - 如何重用和参数 Kendo UI 网格 EditorTemplate(使用 ASP MVC)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30389909/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com