Error executing template "Designs/Tapas/Firstweb.HtmlOutput/menugroups.cshtml"
System.ArgumentException: Get page requires a page ID greater than zero, page ID was 0
   at Dynamicweb.Core.Ensure.That[TException](Boolean condition, String message)
   at Dynamicweb.Content.PageService.GetPage(Int32 pageId)
   at CompiledRazorTemplates.Dynamic.RazorEngine_d3b0afad87f7423895a01a6ba5524594.Execute() in E:\Websites\elma.LIVE\Files\Templates\Designs\Tapas\Firstweb.HtmlOutput\menugroups.cshtml:line 13
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.<RunCompile>b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.RazorTemplateRenderingProvider.Render(Template template)
   at Dynamicweb.Rendering.TemplateRenderingService.Render(Template template)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @inherits RazorTemplateBase<RazorTemplateModel<Template>> 2 @using Dynamicweb.Rendering; 3 @using Dynamicweb.Environment; 4 @{ 5 6 object objProductCatalogId = (object)null; 7 Dynamicweb.Frontend.PageView.Current().Area.Item.TryGetValue("ProductCatalogId", out objProductCatalogId); 8 int productCatalogId = int.Parse(objProductCatalogId.ToString()); 9 int currentPageID = Dynamicweb.Frontend.PageView.Current().ID; 10 11 int TopPageID =Dynamicweb.Context.Current.Request.GetInt32("TopPageID"); 12 string TopPageElementID = TopPageID.ToString(); 13 Dynamicweb.Content.Page TopPage = Dynamicweb.Services.Pages.GetPage(TopPageID); 14 string TopPageName = (TopPage != null && TopPage.ID != 0) ? TopPage.MenuText : ""; 15 16 string currentGroupId = Dynamicweb.Context.Current.Request.GetString("GroupID"); 17 var currentGroup = Dynamicweb.Ecommerce.Products.Group.GetGroupById(currentGroupId); 18 var breadCrumbGroupList = Firstweb.Custom.CustomCode.Webshop.Frontend.Helpers.EcomGroups.getBreadCrumbGroupList(currentGroup,true); 19 20 bool hasProduct = currentGroup.HasProducts(); 21 22 string groupId = currentGroup.Id; 23 string groupNumber = currentGroup.Number; 24 string groupName = currentGroup.Name; 25 var subGroups = currentGroup.Subgroups; 26 27 <div class="setSubmenu active" id="@groupNumber"> 28 <div class="breadCrumb"> 29 @if (!String.IsNullOrEmpty(TopPageName)) 30 { 31 <span data-bind="breadCrumbBack: '@TopPageElementID'">@TopPageName</span> 32 } 33 34 @foreach (var g in breadCrumbGroupList) 35 { 36 var gName = g.Name; 37 var gNumber = (g.Number == groupNumber) ? "" : g.Number; 38 if (!String.IsNullOrEmpty(gNumber)) 39 { 40 <span data-bind="breadCrumbBack: '@gNumber'">@gName</span> 41 } 42 else 43 { 44 <span>@gName</span> 45 } 46 } 47 48 @{ 49 var prevGroupNumber = ""; 50 51 if (breadCrumbGroupList.Count() > 1) 52 { 53 prevGroupNumber = breadCrumbGroupList[breadCrumbGroupList.Count() - 2].Number; 54 } 55 else 56 { 57 prevGroupNumber = TopPageElementID; 58 } 59 60 61 <div class="backBtn" data-bind="breadCrumbBack: '@prevGroupNumber'">@Translate("backbtn", "Tilbage")</div> 62 } 63 </div> 64 65 <div class="submenuItem"> 66 <div class="subMenu"> 67 <div class="container customContainer"> 68 <div class="col-md-12 col-sm-12 col-xs-12"> 69 <div class="row"> 70 @foreach (var childGroup in subGroups) 71 { 72 string childGroupName = childGroup.Name; 73 string childGroupId = childGroup.Id; 74 string childGroupLink = "/Default.aspx?id=" + currentPageID.ToString() + "&groupid=" + childGroupId; 75 76 bool hasChild = childGroup.HasChildGroups; 77 78 var cGroup = Dynamicweb.Ecommerce.Products.Group.GetGroupById(childGroupId); 79 bool childHasProduct = Dynamicweb.Ecommerce.Products.Group.HasProducts(cGroup); 80 81 if (hasChild) 82 { 83 <div data-bind="loadSubGroup: { href: '@childGroupLink', parent: '@groupNumber', toppageid: '@TopPageID' }" class="menu"> 84 <img alt="@childGroupName" src="https://placehold.it/150x100" class="hidden-xs"> 85 <div class="name"> 86 @childGroupName 87 </div> 88 </div> 89 } 90 else if(childHasProduct) 91 { 92 <a href="/Default.aspx?id=@productCatalogId&groupid=@childGroupId"> 93 <div class="menu"> 94 <img alt="@childGroupName" src="https://placehold.it/150x100" class="hidden-xs"> 95 <div class="name"> 96 @childGroupName 97 </div> 98 </div> 99 </a> 100 } 101 } 102 </div> 103 </div> 104 </div> 105 </div> 106 </div> 107 108 @if (hasProduct) 109 { 110 <div class="col-md-12 col-sm-12 col-xs-12 hasProducts"> 111 <div class="row"> 112 <a class="bigButton" href="/Default.aspx?id=@productCatalogId&groupid=@groupId"> 113 @Translate("hasproducts", "Denne varegrupper indeholder ogs&aring; produkter. Tryk her for at gå til produktliste") 114 </a> 115 </div> 116 </div> 117 } 118 </div> 119 120 }