This question is locked. New answers and comments are not allowed.
I am using the menu component in a web application written in VB - using VS 2010. I am getting an InvalidOperationException when the menu is being built that says Sequence contains no elements. When I debug the menu statement, it goes through the first element in the list then throws the exception. I can see that my Model has 7 elements, so I am not sure where I am going wrong. I am fairly new to asp.net so any help is very much appreciated! Here is my code:
The View:
Here is the stack trace:
[InvalidOperationException: Sequence contains no elements]
System.Linq.Enumerable.First(IEnumerable`1 source) +336
Telerik.Web.Mvc.UI.NavigationItemContainerExtensions.Bind(TNavigationItem component, Object dataItem, NavigationBindingFactory`1 factory) +345
Telerik.Web.Mvc.UI.NavigationItemContainerExtensions.Bind(TNavigationItem component, Object dataItem, NavigationBindingFactory`1 factory) +651
Telerik.Web.Mvc.UI.NavigationItemContainerExtensions.BindTo(INavigationItemContainer`1 component, IEnumerable dataSource, Action`1 factoryAction) +384
Telerik.Web.Mvc.UI.MenuBuilder.BindTo(IEnumerable dataSource, Action`1 factoryAction) +70
ASP.views_home_index_aspx.__RenderindexContent(HtmlTextWriter __w, Control parameterContainer) in C:\CVS\GMCWeb\gmcps\Views\Home\Index.aspx:30
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
ASP.views_shared_site_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in C:\CVS\GMCWeb\gmcps\Views\Shared\Site.Master:3
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Page.Render(HtmlTextWriter writer) +29
System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) +56
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3060
The View:
| <%@ Page Title="" Language="VB" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage(Of IEnumerable (Of gmcps.PublicMenu))" %> |
| <%@ Import Namespace="gmcps" %> |
| <asp:Content ID="indexContent" ContentPlaceHolderID="MainContent" runat="server"> |
| <script type="text/JavaScript"> |
| window.onload = function () { |
| var settings = { |
| tl: { radius: 10 }, |
| tr: { radius: 10 }, |
| bl: { radius: 10 }, |
| br: { radius: 10 }, |
| antiAlias: true |
| } |
| curvyCorners(settings, "#publicmainleft"); |
| curvyCorners(settings, "#publicmainright"); |
| curvyCorners(settings, "#publiccontent"); |
| } |
| </script> |
| <%Html.BeginForm()%> |
| <div> |
| <%= Html.Telerik.Menu() _ |
| .Name("HomeMenu") _ |
| .BindTo(Model, |
| Sub(mappings) |
| mappings.For(Of PublicMenu)( |
| Sub(binding) |
| binding _ |
| .ItemDataBound( |
| Sub(item, publicMenu) |
| item.Text = publicMenu.mainMenuItem |
| End Sub) _ |
| .Children( |
| Function(publicMenu) |
| Return publicMenu.subMenuItems |
| End Function) |
| End Sub) |
| End Sub) |
| %> |
| </div> |
| <div id="publiccontent"> |
| <div class="publiccontentinner"> |
| <div id="publicmainleft"> |
| <p class="GMCHomeHeader"><%= Html.lang("HomePageHeader")%><br /></p> |
| <p class="GMCHomeContent"><%= Html.lang("HomePageContent")%></p> |
| </div> |
| <div id="publicmainright"> |
| <p> |
| <%= Html.SubmitImage("paperless", "/Content/Images/paperless-button.png")%> |
| <%= Html.SubmitImage("findus", "/Content/Images/find-us.png")%> |
| <%= Html.SubmitImage("summit", "/Content/Images/Summit-Button.png")%> |
| <%= Html.SubmitImage("industrynews", "/Content/Images/Industry-news-button.png")%> |
| <%= Html.SubmitImage("certs", "/Content/Images/Certifications-button.png")%> |
| </p> |
| </div> |
| </div> |
| </div> |
| <%Html.EndForm()%> |
| </asp:Content> |
PublicMenu class:
| Public Class PublicMenu |
| Public Property mainMenuItem As String |
| Public Property subMenuItems As List(Of String) |
| End Class |
[InvalidOperationException: Sequence contains no elements]
System.Linq.Enumerable.First(IEnumerable`1 source) +336
Telerik.Web.Mvc.UI.NavigationItemContainerExtensions.Bind(TNavigationItem component, Object dataItem, NavigationBindingFactory`1 factory) +345
Telerik.Web.Mvc.UI.NavigationItemContainerExtensions.Bind(TNavigationItem component, Object dataItem, NavigationBindingFactory`1 factory) +651
Telerik.Web.Mvc.UI.NavigationItemContainerExtensions.BindTo(INavigationItemContainer`1 component, IEnumerable dataSource, Action`1 factoryAction) +384
Telerik.Web.Mvc.UI.MenuBuilder.BindTo(IEnumerable dataSource, Action`1 factoryAction) +70
ASP.views_home_index_aspx.__RenderindexContent(HtmlTextWriter __w, Control parameterContainer) in C:\CVS\GMCWeb\gmcps\Views\Home\Index.aspx:30
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
ASP.views_shared_site_master.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in C:\CVS\GMCWeb\gmcps\Views\Shared\Site.Master:3
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +109
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Control.Render(HtmlTextWriter writer) +10
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +208
System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +8
System.Web.UI.Page.Render(HtmlTextWriter writer) +29
System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer) +56
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3060