当我尝试将5000多条记录绑定到Kendo Combobox时,它会给出错误但是当它使用时.Take(1000)错误就会消失。我猜问题就在于庞大的数据。以下是守则: Index.cshtml:
@(Html.Kendo().ComboBox()
.Name("RuleNames")
.DataTextField("RuleName")
.DataValueField("RuleID")
.HtmlAttributes(new { style = "width: 400px" })
.Filter(FilterType.Contains)
.Placeholder(@UI.SelectDropDownText)
.AutoBind(true)
.MinLength(3)
.DataSource(source => source.Read(read => read.Action("ActionName", "Controller")))
控制器:
public virtual JsonResult RuleDetailsJsonObject()
{
var commissionsActFacade = new CommissionServiceFacade(this.commissionManager);
List<CommissionViewModel> ruleInfo = commissionsActFacade.GetProductRules(string.Empty);
return this.Json(ruleInfo.Select(o => new CommissionsACTViewModel {
RuleID = o.ProductRuleID"
}),
JsonRequestBehavior.AllowGet);
}
错误 javascript运行时错误:对象不支持属性或方法&#39;切片&#39;。
答案 0 :(得分:0)
很可能你遇到了MaxJsonLength问题,一旦你增加它我也建议你把你的集合投射到匿名对象而不是ViewModel CommissionsACTViewModel,因为它主要包含一些将被序列化的字段但是不需要,但是它们增加了JSON的大小。