Привязка дерева пользовательского интерфейса Kendo

Я хочу сделать Кендо TreeView, который показывает все узлы при первой загрузке. Я использую образец Кендо «Привязка к удаленным данным», но он работает неправильно. Он показывает только первый уровень, а идентификатор, переданный действию контроллера, всегда равен нулю. Пожалуйста помогите.

Просмотреть код:

@(Html.Kendo().TreeView()
    .Name("treeview")
    .DataTextField("Title")
    .ExpandAll(true)
    .LoadOnDemand(false)
    .DataSource(dataSource => dataSource
    .Read(read => read.Action("Employees", "Follow").Data("addData"))))

 function addData(data) {
    return { id: data.id };
}

Код контроллера: (контроллер Follow)

public System.Web.Mvc.JsonResult Employees(int? id)
{
    System.Collections.Generic.List<FollowType> List =
        new System.Collections.Generic.List<FollowType>();

    if (id.HasValue == true) {
        List = FollowTypeList.FindAll(current => current.ParentId == id);
    } else {
        List = FollowTypeList.FindAll(current => current.ParentId == null);
    }

    System.Collections.Generic.List<Kendo.Mvc.UI.TreeViewItemModel> NodeList =
        new System.Collections.Generic.List<Kendo.Mvc.UI.TreeViewItemModel>();

    foreach (CommonData.Domain.FollowType item in List)
    {
        NodeList.Add(new Kendo.Mvc.UI.TreeViewItemModel() { 
            Id = item.Id.ToString(), 
            Text = item.Title, 
            HasChildren = FollowTypeList.Exists(c => c.Id == item.ParentId) 
        });
    }

    return Json(NodeList, System.Web.Mvc.JsonRequestBehavior.AllowGet);
}

person zeinab kalanaki    schedule 02.03.2013    source источник


Ответы (1)


Я предполагаю, что в вашем коде javascript поле данных id должно быть Id (будьте осторожны с заглавными буквами):

return { id : data.Id };
person Samuel Caillerie    schedule 15.04.2013