【发布时间】:2016-11-08 19:53:29
【问题描述】:
我正在 MVC 应用程序上使用 Kendo UI。我们有一个网格,当用户打开行进行编辑时,我们有一个包含公司名称的 dropDownList。我试图让 DDL 默认为与该行相关的公司名称。
这是列代码:
columns.Bound(e => e.company_business_name).Width(220).Title("Company")
.EditorTemplateName("CompanyName");
这里是编辑器模板代码:
@model string
@(Html.Kendo().DropDownListFor(m => m)
.DataTextField("Text")
.DataValueField("Value")
.BindTo((System.Collections.IEnumerable)ViewData["Companies"])
)
以及填充 DDL 的方法:
private void PopulateCompanies()
{
var companyList = new List<SelectListItem>();
if (!string.IsNullOrEmpty(Session["Companies"] as string))
{
companyList = (List<SelectListItem>)Session["Companies"];
}
else
{
companyList = new DataAccess().GetCompanies(CurrentSettings.getUser().userId);
CacheCompanies(companyList);
}
ViewData["Companies"] = companyList;
}
编辑:
更新了代码。 DDL 仍然会填充,但是当我单击网格行上的“编辑”时,我仍然没有得到选定的值。感觉我就在附近,救命!
【问题讨论】:
-
我建议首先查看自定义编辑器演示 (demos.telerik.com/aspnet-mvc/grid/editing-custom) 和外键列演示 (demos.telerik.com/aspnet-mvc/grid/foreignkeycolumn)。请注意,为了查看正在发生的一切,您必须打开随 Kendo MVC 一起安装的演示项目,因为在线 MVC 演示不会显示每个感兴趣的文件,在这种情况下自定义编辑器演示,它没有显示 EditorTemplate,演示项目应该在这里找到:
\wrappers\aspnetmvc\Examples -
GetCompanies返回什么?您可以发布示例数据吗?
标签: kendo-ui kendo-grid kendo-asp.net-mvc