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

Kendo下拉列表返回值而非文本的问题求助

解决Kendo网格下拉列表EditorTemplate显示与值绑定异常问题

咱们先把你遇到的核心问题拆解清楚:下拉列表要么返回[object object],要么绑定后显示的是ID而非Name,本质是字段绑定逻辑和下拉列表的配置不匹配导致的。下面一步步来解决:

1. 修正网格列的绑定逻辑

你当前列绑定的是c.Name,但这个字段应该绑定到实体中存储下拉选项ID的字段(比如c.CategoryId这类),网格需要存储的是选中项的ID,而显示的Name文本要通过客户端模板来实现:

columns.Bound(c => c.YourIdField) // 替换成你实体中存储下拉ID的Guid类型字段
       .Filterable(f => f.UI("$.proxy(filterFunction, {field: 'YourIdField'})")
       .Operators(o => o.ForString(e => e.Clear().IsEqualTo("Is equal to").IsNotEqualTo("Is not equal to"))))
       .EditorTemplateName("EditorTemplateName")
       .ClientTemplate("#= YourNameField #"); // 这里指定显示的Name字段,和接口返回的Name对应

2. 调整EditorTemplate的配置细节

保留ValuePrimitive(true)是对的——因为你绑定的是Guid原始值,不是复杂对象。同时确保下拉列表的字段映射完全匹配接口返回的数据:

@model Guid?
@(Html.Kendo().DropDownListFor(m => m)
    .DataValueField("Id") // 对应接口返回的Id字段
    .DataTextField("Name") // 对应接口返回的Name字段
    .DataSource(dataSource => {
        dataSource.Read(read => read.Action(MVC.Controller.ActionNames.ActionName_Read, MVC.Controller.Name))
                  .ServerFiltering(true);
    })
    .ValuePrimitive(true)
    .OptionLabel("请选择...") // 可选,添加默认提示项
)

3. 修复控制器代码的语法错误

你的控制器里用了return作为变量名,这是C#的关键字,必须修改,同时确保返回的ID类型和模型的Guid?一致:

public virtual ActionResult ActionName_Read()
{
    var applicationID = AppSettings.Id.Guid;
    var data = _db.table.Where(w => w.ID == applicationID)
                        .Select(s => new { 
                            s.Name, 
                            Id = s.Guid // 确保这里的Guid类型和模型的Guid?匹配
                        });
    return Json(data, JsonRequestBehavior.AllowGet);
}

核心问题的原因说明

  • 移除ValuePrimitive(true)时,下拉列表会返回整个选中的对象,而你的字段是Guid类型,所以网格拿到的是[object object],类型不匹配。
  • 之前绑定列到Name字段,下拉列表提交的却是ID值,自然会把ID填充到Name字段里,导致显示异常。必须把列绑定到ID字段,再通过ClientTemplate渲染对应的Name文本。

额外验证点

  • 确认网格数据源的每条数据,同时包含YourIdField(存储Guid)和YourNameField(显示名称),这样客户端模板才能正确渲染文本。
  • 如果是新增行或批量编辑场景,可在网格的Edit事件中手动触发下拉列表的Read操作,确保数据加载完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:40:22