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