0

サーバー側のデータで kendo ツリービューを使用しているときに、mvc でデータをバインドするときに問題が発生する

私のコントローラーのアクションは次のとおりです。

public ActionResult DayPart(long storeid)
        {




            IEnumerable<TreeViewMapModel> objDaypart = from item in new DayPartService().GetAll().ToList()
                                                       select new TreeViewMapModel
                                                       {
                                                           Id = item.Id,
                                                           Name = item.Name,
                                                           Items = (from map in new DayPartMappingService().GetByStoreId(storeid)
                                                                    where item.Id == map.DayPartId
                                                                    select new MasterModel() { Id = int.Parse(map.SourceId), Name = map.SourceLabel }).ToList(),

                                                       };

 var ret = objDaypart.Select(x => new TreeViewMapModel
           {
               HasChildren = x.Items.Count() > 0,
               Id = x.Id,
               Items = x.Items ?? Enumerable.Empty<MasterModel>(),
               Name = x.Name
           });
@ViewBag.storename = new StoreService().GetById(storeid).Name;
          return View(ret);
        }

そしてビューで

@model IEnumerable<Apis.Web.MvcPortal.Areas.Setups.Models.TreeViewMapModel>
 @(Html.Kendo().TreeView()
.Name("right-treeview")
.BindTo(Model.ToList(), (Kendo.Mvc.UI.Fluent.NavigationBindingFactory<TreeViewItem> mappings) =>
{
    mappings.For<Apis.Web.MvcPortal.Areas.Setups.Models.TreeViewMapModel>(bound => bound.ItemDataBound((node, structure) =>
    {
        node.HasChildren = structure.HasChildren;
        node.Id = structure.Id.ToString();
        node.Text = structure.Name;
        })

    .Children(structure => structure.Items));
})
        )

しかし、エラーシーケンスに要素が含まれていません。何が間違っているのか誰にもわかりますか。

私のスタック トレースは次のとおりです。 System.Linq.Enumerable.First[TSource](IEnumerable 1 source) at Kendo.Mvc.UI.NavigationItemContainerExtensions.Bind[TNavigationItem](TNavigationItem component, Object dataItem, NavigationBindingFactory1 factory) at Kendo.Mvc.UI.NavigationItemContainerExtensions.Bind[TNavigationItem](TNavigationItem component, Object dataItem, NavigationBindingFactory 1 factory) at Kendo.Mvc.UI.NavigationItemContainerExtensions.BindTo[TNavigationItem](INavigationItemContainer1 component, IEnumerable dataSource, Action1 factoryAction) at Kendo.Mvc.UI.Fluent.TreeViewBuilder.BindTo(IEnumerable dataSource, Action1 factoryAction) の ASP._Page_Areas_Setups_Views_Mapping_DayPart_cshtml.Execute() in d:\APISBI_MVC\APISBI\Main\SRC\Apis.Web.MvcPortal\Areas\Setups\Views\Mapping\DayPart.cshtml:line 47 at System.Web.WebPages. System.Web.Mvc.WebViewPage.ExecutePageHierarchy() での WebPageBase.ExecutePageHierarchy() System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext、TextWriter ライター、WebPageRenderingBase startPage) で System.Web.Mvc.RazorView.RenderView(ViewContext viewContext) 、TextWriter ライター、オブジェクト インスタンス) で System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext、TextWriter ライター) で System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext コンテキスト) で System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext) controllerContext、ActionResult actionResult) で System.Web.Mvc.ControllerActionInvoker.<>c_DisplayClass1a.b _17() at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter フィルター、ResultExecutingContext preContext、Func`1 継続)

前もって感謝します。

4

1 に答える 1