【问题标题】:Telerik dropdownlist does not seem to bind to JSONTelerik 下拉列表似乎没有绑定到 JSON
【发布时间】:2016-10-26 05:40:23
【问题描述】:

我尝试从我的数据库中填充下拉列表。加载视图时,下拉列表微调器似乎在做某事,然后微调器消失并且下拉列表为空?有人可以提出解决方案。干杯。

QLine.cs

public partial class QLine
    {
        [Key]
        public int lineId { get; set; }

        public int networkId { get; set; }

        [Required]
        [StringLength(50)]
        public string lineName { get; set; }

        public virtual QNetwork QNetwork { get; set; }
    }

LinesDroplistController.cs

public class LinesDroplistController : Controller
    {
        private KprModel db = new KprModel();

        public JsonResult GetMLines()
            {
            var result = db.QLines.Where(abc => abc.networkId == 1);
            return Json(result, JsonRequestBehavior.AllowGet);
            } 
     }

myView.cshtml

@(Html.Kendo().DropDownList()
.Name("LineDropDownList") 
.DataTextField("lineName") 
.DataValueField("lineId") 
.AutoBind(true)
.DataSource(source =>
 {
  source.Read(read =>
  {
   read.Action("GetMLines", "LinesDroplist"); 
   });
  })
 )

【问题讨论】:

    标签: asp.net-mvc telerik kendo-dropdown


    【解决方案1】:

    请试试这个:

    source.Read(read =>
    {
        read.Action("GetMLines", "LinesDroplist")
    }).ServerFiltering(true);
    

    禁用 serverFiltering 时,组合框不会向服务器发出任何额外请求。

    【讨论】:

    • 谢谢,我试过你的建议,但没有奏效。我认为我的结果是返回一个复杂的模型,因为 Qline 类中有虚拟链接。
    【解决方案2】:

    改了就成功了

    var result = db.QLines.Where(abc => abc.networkId == 1);
    

    var result = db.QLines.Where(abc => abc.networkId == 1).Select(x => new { x.lineName, x.lineId });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-14
      • 2013-03-27
      • 1970-01-01
      相关资源
      最近更新 更多