2014-01-03 6 views
0

Когда я пытаюсь связать несколько 5000+ записей с Kendo Combobox, он дает ошибку, но когда он использует .Take (1000), возникает ошибка. Я думаю, проблема связана с огромными данными. Ниже приводится код: Index.cshtml:Большие привязки данных к Kendo Combo Box

@(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 ошибки во время выполнения: Объект не supportproperty или метод 'срез'.

+0

Эта ошибка возникает, когда сервер возвращает то, что не соответствует JSON. Вы пытались вызвать службу из своего браузера и проверить, что на самом деле это JSON? – OnaBai

+0

@OneBai: Я не понимаю, сэр. Пожалуйста, уточните – Aniket

+0

. Можете ли вы вызвать службу (код, который запускается на сервере) из браузера, набрав на ней какой-то URL? Если это так, убедитесь, что возвращаемое значение содержит данные и действительные данные. Я пытаюсь отладить значение, полученное браузером от контроллера – OnaBai

ответ

0

Скорее всего, вы попали в проблему MaxJsonLength, как только вы увеличите ее, я также предлагаю вам проецировать вашу коллекцию на анонимный объект вместо этого ViewModel CommissionsACTViewModel, поскольку в нем содержатся некоторые поля, которые будут сериализованы, но не нужны, однако они увеличивают размер JSON.

+0

Спасибо, сэр. Это сработало ... – Aniket

+0

U сказал правду. Все свойства в Model View стали сериализоваться без необходимости. Итак, я удалил имя ViewModel и сделал его анонимным. – Aniket

Смежные вопросы