【问题标题】:Kendo dropdownlist parse variablesKendo 下拉列表解析变量
【发布时间】:2018-05-09 10:37:40
【问题描述】:

我有订单实体,我可以在添加评论时选择运营商

我在 OperatorViewModel 中的变量:

    public int Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }

订单控制器:

        var operatorComment = operatorRepository.Get();
        var operatorCommentList = operatorComment.Select(opList => new OperatorViewModel
        {
            Id = opList.Id,
            FirstName = opList.FirstName
        })
        .ToList();

        ViewBag.AvailableOperatorComment = operatorCommentList;

剑道专栏:

            columns.Bound(c => c.OperatorFirstName)
            .Title(T("Sales.Order.Operator"))
            .ClientTemplate($@"#= OperatorFirstName # #= OperatorLastName #")
            .EditorTemplateName("OperatorCommentList")
            .EditorViewData(new { AvailableOperator = ViewBag.AvailableOperatorComment });

OperatorCommentList 模板:

@model OperatorViewModel

@{
var orderOperatorCommentList = ViewData["AvailableOperator"] as 
List<OperatorViewModel>;
}

@(Html.Kendo().DropDownListFor(m => m)
    .DataValueField(nameof(OperatorViewModel.Id))
    .DataTextField(nameof(OperatorViewModel.FirstName))
    .BindTo(orderOperatorCommentList)
)

并在 OrderOperatorCommentViewModel 列表中:

public List<SelectListItem> AvailableOperatorComment { get; set; }

现在如何更改 dataTextField 以解析 FirstName 和 LastName?我想列出名字和姓氏,但不知道该怎么做

【问题讨论】:

  • 您可以在模型中添加一个 NameDisplay 属性并将其绑定到您的下拉模板吗?

标签: c# model-view-controller kendo-ui


【解决方案1】:

如果你想在客户端实现这个,可能最好使用模板。应该这样做:

@(Html.Kendo().DropDownListFor(m => m)
    .DataValueField(nameof(OperatorViewModel.Id))
    .DataTextField(nameof(OperatorViewModel.FirstName))
    .Template("#:data.FirstName# #:data.LastName#")
    .BindTo(orderOperatorCommentList)
)

请参阅此example 了解更多详情。

【讨论】:

    猜你喜欢
    • 2023-02-15
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 2016-01-28
    • 2014-05-22
    相关资源
    最近更新 更多