You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Kendo DropDownList的DataTextField显示FirstName与LastName组合?

解决Kendo DropDownList显示FirstName+LastName组合的问题

要让下拉框同时展示操作员的名字和姓氏,我整理了两种简洁可行的实现方式,优先推荐符合MVVM设计思想的方案:

方法1:给OperatorViewModel添加计算属性(推荐)

这种方式最贴合视图模型的设计初衷,因为ViewModel本身就是为视图展示需求服务的,新增组合属性非常合理:

  1. 更新OperatorViewModel,添加FullName计算属性
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }

// 新增自动组合姓名的计算属性
public string FullName => $"{FirstName} {LastName}";
  1. 修复Controller中的赋值逻辑
    你原来的代码只给OperatorViewModel赋值了FirstName,漏掉了LastName,这会导致组合名称缺失,必须补上这一行:
var operatorCommentList = operatorComment.Select(opList => new OperatorViewModel {
    Id = opList.Id,
    FirstName = opList.FirstName,
    LastName = opList.LastName // 新增此行,确保姓氏被传递到视图
}).ToList();
ViewBag.AvailableOperatorComment = operatorCommentList;
  1. 修改DropDownList模板的DataTextField
    将原来绑定的FirstName切换为新的FullName属性:
@model OperatorViewModel
@{
    var orderOperatorCommentList = ViewData["AvailableOperator"] as List<OperatorViewModel>;
}
@(Html.Kendo().DropDownListFor(m => m)
    .DataValueField(nameof(OperatorViewModel.Id))
    .DataTextField(nameof(OperatorViewModel.FullName)) // 改为绑定FullName
    .BindTo(orderOperatorCommentList)
)

方法2:不修改ViewModel,用下拉框模板自定义显示(备选)

如果不想改动ViewModel结构,可以直接给DropDownList设置自定义模板来实现组合显示:

修改OperatorCommentList模板中的DropDownList配置:

@(Html.Kendo().DropDownListFor(m => m)
    .DataValueField(nameof(OperatorViewModel.Id))
    .DataTextField(nameof(OperatorViewModel.FirstName)) // 保留原字段,用模板覆盖显示
    .BindTo(orderOperatorCommentList)
    .Template("#= FirstName # #= LastName #") // 自定义下拉选项的显示内容
    .ValueTemplate("#= FirstName # #= LastName #") // 选中后输入框的显示内容
)

注意:这种方式同样需要确保Controller中已经给OperatorViewModel的LastName属性赋值,否则还是会只显示名字。

额外提醒

你的Kendo列配置里的ClientTemplate已经设置为#= OperatorFirstName # #= OperatorLastName #,要确保Order实体对应的这两个字段都有正确值,这样表格中的操作员名称显示才会正常。

内容的提问来源于stack exchange,提问作者paproch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 06:36:03