Luk
Error executing template "Designs/ncnielsen/eCom/Productlist/subgrouplist.cshtml"
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.Collections.Generic.List`1.get_Item(Int32 index)
   at CompiledRazorTemplates.Dynamic.RazorEngine_b26c92ed76fa40058d35a3c5c330e358.Execute() in D:\dynamicweb.net\Solutions\Gotcha\ncn.dw9.dynamicweb-cms.com\files\Templates\Designs\ncnielsen\eCom\Productlist\subgrouplist.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 @{ 2 string logoName = ""; 3 string logoAlt = ""; 4 string subgroupStartPath = ""; 5 6 Dynamicweb.Ecommerce.Products.GroupService gs = new Dynamicweb.Ecommerce.Products.GroupService(); 7 Dynamicweb.Ecommerce.Products.Group g = gs.GetGroup(GetString("Ecom:Group.ID")); 8 Dynamicweb.Ecommerce.Products.GroupCollection gc = g.ParentGroups; 9 10 if (GetLoop("Subgroups").Count() > 0) 11 { 12 /*logoName = GetLoop("Subgroups")[0].GetString("Ecom:Group.Name").Replace(" ","_");*/ 13 logoName = gc[0].Name.Replace(" ", "_"); 14 15 if (logoName.IndexOf("_") != -1) 16 { 17 logoName = logoName.Substring(0, logoName.IndexOf("_")).ToLower().Replace(" ", "_").Replace("/", "_").Replace("æ", "a").Replace("ø", "o").Replace("å", "a"); 18 subgroupStartPath = logoName + "_"; 19 logoAlt = logoName + " logo"; 20 logoName = logoName.ToLower() + "_white"; 21 logoName = logoName + ".png"; 22 } 23 else 24 { 25 logoName = logoName.ToLower().Replace(" ", "_").Replace("/", "_").Replace("æ", "a").Replace("ø", "o").Replace("å", "a"); 26 subgroupStartPath = logoName + "_"; 27 logoAlt = logoName + " logo"; 28 logoName = logoName.ToLower() + "_white"; 29 logoName = logoName + ".png"; 30 } 31 } 32 } 33 @SnippetStart("TemplateSpecificHeader") 34 <div class="content"> 35 @if (logoName != "") 36 { 37 if (System.IO.File.Exists(System.Web.HttpContext.Current.Server.MapPath("/files/images/ncnielsen/ecom/logos/" + logoName))) 38 { 39 <img id="brandlogo" src='/files/images/ncnielsen/ecom/logos/@logoName' alt='@logoAlt' /> 40 } 41 } 42 <h1>@GetString("Ecom:Group.Name")</h1><span class="subheader">@GetString("Ecom:Group. ")</span> 43 </div><div id="headerImage"> 44 @{ 45 string headerImagefolderName = GetString("Ecom:Group.Name").ToLower().Replace(" ", "_").Replace("/", "_").Replace("æ", "a").Replace("ø", "o").Replace("å", "a"); 46 string headerImagePath = "/files/images/ncnielsen/ecom/groups/" + subgroupStartPath + "" + headerImagefolderName + "/header.jpg"; 47 48 <img src='@headerImagePath' alt='@GetString("Ecom:Group.Name")' /> 49 } 50 </div> 51 @SnippetEnd("TemplateSpecificHeader") 52 53 <section class="section section-white section-product-list"> 54 <div class="content"> 55 <div class="filter-bar"> 56 @RenderNavigation(new 57 { 58 template = "ecom-filtering.xslt", 59 expandmode = "all", 60 id = "ecomFiltering", 61 startlevel = "1", 62 endlevel = "5" 63 }) 64 </div><ul id="productList"> 65 @if (GetLoop("Subgroups").Count > 0) 66 { 67 foreach (var ecomSubGroup in GetLoop("Subgroups")) 68 { 69 string folderName = ecomSubGroup.GetString("Ecom:Group.Name").ToLower().Replace(" ", "_").Replace("/", "_").Replace("æ", "a").Replace("ø", "o").Replace("å", "a"); 70 string imagePath = "/files/images/ncnielsen/ecom/groups/" + folderName + "/list.jpg"; 71 string link = ecomSubGroup.GetString("Ecom:Group.Link.Clean"); 72 73 if (!string.IsNullOrWhiteSpace(ecomSubGroup.GetString("Ecom:Group:Field.ShadowGroupLink"))) 74 { 75 link = ecomSubGroup.GetString("Ecom:Group:Field.ShadowGroupLink"); 76 } 77 78 <li class="product"> 79 <a href="@link"> 80 <img src='@imagePath' alt='@ecomSubGroup.GetString("Ecom:Group.Name")' /><h2>@ecomSubGroup.GetString("Ecom:Group.Name")</h2> 81 @if (!string.IsNullOrWhiteSpace(@ecomSubGroup.GetString("Ecom:Group:Field.ListeLabel"))) 82 { 83 <p>@ecomSubGroup.GetString("Ecom:Group:Field.ListeLabel"): @ecomSubGroup.GetString("Ecom:Group:Field.ListeVaerdi.Value")</p> 84 } 85 </a> 86 </li> 87 } 88 } 89 else 90 { 91 string folderName = GetString("Ecom:Group.Name").ToLower().Replace(" ", "_").Replace("/", "_").Replace("æ", "ae").Replace("ø", "oe").Replace("å", "aa"); 92 string imagePath = "/files/images/ncnielsen/ecom/groups/" + folderName + "/list.jpg"; 93 string link = GetString("Ecom:Group.Link.Clean"); 94 95 if (!string.IsNullOrWhiteSpace(GetString("Ecom:Group:Field.ShadowGroupLink"))) 96 { 97 link = GetString("Ecom:Group:Field.ShadowGroupLink"); 98 } 99 100 <li class="product"> 101 <a href="@link"> 102 <img src='@imagePath' alt='@GetString("Ecom:Group.Name")' /><h2>@GetString("Ecom:Group.Name")</h2> 103 @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Group:Field.ListeLabel"))) 104 { 105 <p>@GetString("Ecom:Group:Field.ListeLabel"): @GetString("Ecom:Group:Field.ListeVaerdi.Value")</p> 106 } 107 </a> 108 </li> 109 } 110 </ul> 111 </div> 112 </section> 113 @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Group:Field.Headline"))) 114 { 115 <section class="section section-greyextralight section-group-text"> 116 <div class="content"> 117 <h2><span><span>@GetString("Ecom:Group:Field.Headline")</span></span></h2> 118 @GetString("Ecom:Group.Description") 119 </div> 120 </section> 121 }