Kendo DropDownList没有填充

时间:2015-08-07 23:31:31

标签: kendo-ui telerik kendo-dropdown

由于某种原因,剑道下拉列表是空的,我不确定,下面是我的所有代码

@(Html.Kendo().DropDownList()
      .Name("parties")
      .HtmlAttributes(new { style = "width: 250px" })
      .DataTextField("Name")
      .DataValueField("PartyId")
      .DataSource(source =>
      {
          source.Read(read =>
          {
              read.Action("GetParties", "Concept");
          });
      })
)

控制器呼叫

public JsonResult GetParties([DataSourceRequest] DataSourceRequest request)
    {
        var parties = MiscAdapter.GetParties().Select(x => new PartyModel
        {
            Name = x.PartyName,
            PartyId = x.PartyId
        });
        return Json(parties.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
    }

模型

public class PartyModel
{
    public int PartyId { get; set; }
    public string Name { get; set; }
}

根据F12工具返回的数据

{"Data":[{"PartyId":1,"Name":"New Democratic Party"},{"PartyId":2,"Name":"Saskatchewan Party"},{"PartyId":3,"Name":"Liberal"},{"PartyId":4,"Name":"Green"},{"PartyId":5,"Name":"Independant"}],"Total":5,"AggregateResults":null,"Errors":null}

即使我看不到代码或返回的数据,下拉列表也没有显示任何内容。

1 个答案:

答案 0 :(得分:0)

请尝试使用以下代码段。您使用的方法用于网格数据绑定。

public JsonResult GetParties()
{
    List<PartyModel> models = new List<PartyModel>();
    models.Add(new PartyModel() { Name = "Name1", PartyId = 1 });
    models.Add(new PartyModel() { Name = "Name2", PartyId = 2 });

    return Json(models, JsonRequestBehavior.AllowGet);
}

如果有任何疑虑,请告诉我。