如何将Kendo DropDownList绑定到嵌套对象

问题描述 投票:2回答:1

注意:这使用的是。NET Core的Kendo UI程序包,尽管该程序包与Jquery版本有所不同,所以请仅关注此平台。

最初我有一个客户端下拉列表,该下拉列表绑定到Controller返回的IEnumerable<Client>,并且运行良好:

 @(Html.Kendo().DropDownList()
            .Name("ddlClient")
            .DataTextField("ClientName")
            .DataValueField("ClientID")
            .DataSource(source => {
                source.Read(read => {
                    read.Action("GetClient", "Home");
                });
            })           
        )

但是在重组一些代码后,我希望能够从控制器返回一个IEnumerable<ClientViewModel>,其中ClientViewModel为:

public class ClientViewModel{
   public Client SelectedClient {get; set;}
   public ClientDivison SelectedClientDivision {get; set;}
   public SomeOtherProperty TheSomeOtherProperty {get; set;}
   //etc
}

我修改了下拉列表,如下所示,但它无法正常工作。我验证了Controller调用仍在触发并且仍在返回记录(应为ClientViewModel类型)。

这里是修改后的DropDownList代码

  @(Html.Kendo().DropDownList()
            .Name("ddlClient")
            .DataTextField("SelectedClient.ClientName")
            .DataValueField("SelectedClient.ClientID")
            .DataSource(source => {
                source.Read(read => {
                    read.Action("GetClient", "Home");
                });
            })           
        )

还要注意,我不能将其绑定到为视图本身定义的主要模型,因为这是一个完全不同的模型,这是一个独立的下拉列表。

我觉得以前我已经像这样引用了嵌套属性。

我在这里错了什么?

注意:这是使用Kendo UI for .NET Core程序包,尽管它与Jquery版本有所不同,所以请仅关注此平台。最初,我的客户端下拉列表为...

asp.net-core kendo-ui kendo-asp.net-mvc kendo-asp.net-core
1个回答
2
投票

[您似乎非常接近:请记住,MVC默认将JSON对象键序列化为camelCase

© www.soinside.com 2019 - 2024. All rights reserved.