Combobox 大数据绑定到剑道组合框

Combobox 大数据绑定到剑道组合框,combobox,kendo-ui,Combobox,Kendo Ui,当我试图将5000多条记录绑定到剑道组合框时,它会出现错误,但当它使用.Take(1000)时,错误就会消失。我想问题在于庞大的数据。代码如下: Index.cshtml: @(Html.Kendo().ComboBox() .Name("RuleNames") .DataTextField("RuleName") .DataValueField("RuleID") .HtmlAttributes(new { style = "width: 400px" })

当我试图将5000多条记录绑定到剑道组合框时,它会出现错误,但当它使用.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);
}
public虚拟JsonResult RuleDetailsJsonObject()
{
var CommissionActFacade=新的CommissionServiceFacade(this.commissionManager);
List ruleInfo=CommissionActFacade.GetProductRules(string.Empty);
返回this.Json(ruleInfo.Select(o=>new CommissionActViewModel{
RuleID=o.ProductRuleID“
}),   
JsonRequestBehavior.AllowGet);
}
错误
javascript运行时错误:对象不支持属性或方法“slice”。

很可能您遇到了问题,一旦您增加它,我还建议您将集合投影到匿名对象中,而不是ViewModel CommissionActViewModel,因为它包含一些将序列化但不需要的字段,但是,它们会增加JSON的大小。

当服务器返回不正确的JSON时,通常会发生该错误。您是否尝试从浏览器调用该服务并检查它是否确实是JSON?@OneBai:我不明白,先生。请详细说明您是否可以调用该服务(运行到服务器中的代码)通过在浏览器上键入URL从浏览器中删除?如果是,请检查返回值是否包含数据和有效数据。我尝试的是调试浏览器从控制器接收到的值。U表示为true。视图模型中的所有属性都被不必要地序列化。因此,我删除了ViewModel名称并使其匿名。