Exception in template (eCom/Product/NyboProduct.cshtml): System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
Parameter name: length
   at System.String.Substring(Int32 startIndex, Int32 length)
   at CompiledRazorTemplates.Dynamic.cbababbafacdcce.Execute()
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context)
   at RazorEngine.Razor.Parse[T](String razorTemplate, T model, String cacheName)
   at Dynamicweb.Rendering.Template.Output()
@inherits Dynamicweb.Rendering.RazorTemplateBase<Dynamicweb.Rendering.RazorTemplateModel<Dynamicweb.Rendering.Template>> @using System; @using System.Web; @{ var additionalImages = GetString("Ecom:Product:Field.AdditionalImages").Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); } <!-- POPUP primaryimage --> <div class="modal fade productimagelarge" id="imagezoommodal" tabindex="-1" role="dialog" aria-labelledby="Image Zoom" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> </div> <div class="modal-body"> <img src="" id="imagepreview"> </div> </div> </div> </div> <div class="container"> <div class="col-xs-12 col-sm-4 col-md-4 col-lg-4 visual"> <div id="primary-image"> @if (!string.IsNullOrEmpty(GetString("Ecom:Product:Field.ExpiryDate.Value"))) { var expiryDate = GetDate("Ecom:Product:Field.ExpiryDate.Value"); if (expiryDate.Year != 2999) { <div class="optional-label_list"> @Translate("ExpireDateName", "Udgår d.") @expiryDate.ToShortDateString() </div> } else { <div class="optional-label_list" style="margin-top: 5px;background: none;"> </div> } } else { <div class="optional-label" style=" background: none;"> </div> } @if (string.IsNullOrEmpty(GetString("Ecom:Product:Field.Image1.Value.Clean"))) { <img src="/admin/public/getimage.aspx?Image=/files/billeder/na.jpg&amp;Format=jpg&amp;size=500x500" alt="" class="img-responsive" id="imageresource" data-image="/admin/public/getimage.aspx?Image=/files/billeder/na.jpg&amp;Format=jpg&amp;size=500x500" /> } else { <img src='https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image1.Value.Clean")&amp;fit=fit&amp;size=500x500&amp;format=jpg' data-zoom-image='https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image1.Value.Clean")&amp;fit=fit&amp;size=650x650&amp;format=jpg' data-image='https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image1.Value.Clean")&amp;fit=fit&amp;size=700x700&amp;format=jpg' alt='@GetString("Ecom:Product.Name")' class="img-responsive" id="imageresource" /> } </div> <div class="thumb-area"> <div class="thumbnail-images"> @{ List<string> images = new List<string>(); } @if (!string.IsNullOrEmpty(GetString("Ecom:Product:Field.Image1"))) { images.Add(GetString("Ecom:Product:Field.Image1")); <div class="image-thumbnail"> <img src="https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image1.Value.Clean")&amp;fit=fit&amp;size=500x500&amp;format=jpg" data-image="https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image1.Value.Clean")&amp;fit=fit&amp;size=650x650&amp;format=jpg" data-imagezoom="https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image1.Value.Clean")&amp;fit=fit&amp;size=700x700&amp;format=jpg" alt='@GetString("Ecom:Product.Name")' /> </div> } @if (!string.IsNullOrEmpty(GetString("Ecom:Product:Field.Image2"))) { images.Add(GetString("Ecom:Product:Field.Image2")); <div class="image-thumbnail"> <img src="https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image2.Value.Clean")&amp;fit=fit&amp;size=500x500&amp;format=jpg" data-image="https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image2.Value.Clean")&amp;fit=fit&amp;size=650x650&amp;format=jpg" data-imagezoom="https://cdn.nybo.com/Perfion/Image.aspx?id=@GetString("Ecom:Product:Field.Image2.Value.Clean")&amp;fit=fit&amp;size=700x700&amp;format=jpg" alt='@GetString("Ecom:Product.Name")' /> </div> } @if (!string.IsNullOrEmpty(GetString("Ecom:Product:Field.AdditionalImages"))) { foreach (var image in additionalImages) { images.Add(image); <div class="image-thumbnail"> <img src="https://cdn.nybo.com/Perfion/Image.aspx?id=@image&amp;fit=fit&amp;size=500x500&amp;format=jpg" data-image="https://cdn.nybo.com/Perfion/Image.aspx?id=@image&amp;fit=fit&amp;size=650x650&amp;format=jpg" data-imagezoom="https://cdn.nybo.com/Perfion/Image.aspx?id=@image&amp;fit=fit&amp;size=700x700&amp;format=jpg" alt='@GetString("Ecom:Product.Name")' /> </div> } } @if (!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.ModelLibrary"))) { foreach (var item in GetString("Ecom:Product:Field.ModelLibrary").Split(',')) { if (!images.Contains(item)) { images.Add(item); <div class="image-thumbnail"> <img src="https://cdn.nybo.com/Perfion/Image.aspx?id=@item&amp;fit=fit&amp;size=500x500&amp;format=jpg" data-image="https://cdn.nybo.com/Perfion/Image.aspx?id=@item&amp;fit=fit&amp;size=650x650&amp;format=jpg" data-imagezoom="https://cdn.nybo.com/Perfion/Image.aspx?id=@item&amp;fit=fit&amp;size=700x700&amp;format=jpg" alt='@GetString("Ecom:Product.Name")' class="img-responsive" /> </div> } } } </div> </div> @if (!string.IsNullOrEmpty(GetString("Ecom:Product.ColorsFound"))) { <div class="quickview farver-rollover"> <h3> @Translate("Color", "Farver", true) </h3> @foreach (var color in GetLoop("Ecom:Product.Color")) { <a href="javascript:void(0);"> <span style='background: #@color.GetString("Ecom:Product.Color");'> </span> </a> } </div> } @if (!string.IsNullOrEmpty(GetString("Ecom:Product:Field.VideoLink"))) { <div id="video" class="video"> <h5> <i class="fa fa-youtube-play fa-2x"></i> @Translate("SeVideo", "Se produkt video") </h5> </div> <!-- POPUP --> <div id="popup"> <div class=" vimeocontent"> <div class="closed"><p>x</p></div> <iframe src="https://player.vimeo.com/video/@GetString("Ecom:Product:Field.VideoLink")?color=ffffff&title=0&byline=0&portrait=0" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe> </div> </div> <div id="bgpopup"> </div> } </div> <div class="col-xs-12 col-sm-8 col-md-8 col-lg-8 description"> <div id="tabs" class="nav nav-tabs" role="tablist"> <div class="tab-content"> <div role="tabpanel" class="tab-pane active" id="tabs-1"> <h1> @GetString("Ecom:Product.Name") </h1> <div class="scroll-pane"> <div class="scontainer"> <div class="produc-description"> <p> @GetString("Ecom:Product.ShortDescription") </p> @if (!string.IsNullOrEmpty(GetString("Custom:Collection.Description"))) { <p> @GetString("Custom:Collection.Description") </p> } </div> @if (!string.IsNullOrEmpty(GetString("Custom:Collection.ID"))) { <div class="lables"> @Translate("Collection", "Kollektion", true) : </div> <div class="dlinks"> @GetString("Custom:Collection.Name") </div> } @if (!string.IsNullOrEmpty(GetString("Custom:Collection.TargetGroup.Name"))) { <div class="lables"> @Translate("Audiences", "M&aring;lgruppe", true) : </div> <div class="dlinks"> @GetString("Custom:Collection.TargetGroup.Name") </div> } <div class="lables"> @Translate("Quality", "Kvalitet", true) : </div> <div class="dlinks"> @GetString("Ecom:Product:Field.Ecom:Product.Quality.Value.Clean") </div> <div class="lables"> @Translate("Farvetekst", "Farvetekst", true) : </div> <div class="dlinks"> @GetString("Ecom:Product:Field.Ecom:Product.Color.Value.Clean") </div> <div class="lables">@Translate("BestillingsNr", "BestillingsNr", true):</div> <div class="dlinks" name="bestnr"> @*GetString("Ecom:Product.Number").Substring(0, 9)-@GetString("Ecom:Product.Number").Substring(9, 2)*@ @GetString("Ecom:Product.Number").Substring(0, 7)-@GetString("Ecom:Product.Number").Substring(7, 4) </div> @if (!string.IsNullOrEmpty(GetString("Ecom:Product:Field.SizesStock.Value.Clean"))) { <div class="lables">@Translate("SizesStock", "Lagerstørrelser", true):</div> <div class="dlinks" name="SizesStock"> @GetString("Ecom:Product:Field.SizesStock.Value.Clean") </div> } @if (!string.IsNullOrEmpty(GetString("Ecom:Product:Field.SizesToOrder.Value.Clean"))) { <div class="lables">@Translate("SizesToOrder", "Bestillingsstørrelser", true):</div> <div class="dlinks" name="SizesToOrder"> @GetString("Ecom:Product:Field.SizesToOrder.Value.Clean") </div> } @if (!string.IsNullOrEmpty(GetString("Custom:Collection.Collection.Name"))) { <div class="lables"> @Translate("Seriebeskrivelse", "Seriebeskrivelse", true) : </div> <div class="dlinks"> @GetString("Custom:Collection.Collection.Name") </div> } <div class="lables"> @Translate("Datasheet", "Produktark", true) : </div> <div class="dlinks"> @if (!string.IsNullOrEmpty(GetString("Ecom:Product:Field.ProductSheet.Value.Clean"))) { if (GetGlobalValue("Global:Area.Lang") == "da") { <a href='https://cdn.nybo.com/Perfion/File.aspx?id=@GetString("Ecom:Product:Field.ProductSheet.Value.Clean")' title="Vis produkt i PDF" target="_blank">Vis i PDF &nbsp;<i class="fa fa-file-pdf-o"></i></a> } else if (GetGlobalValue("Global:Area.Lang") == "en") { <a href="https://cdn.nybo.com/Perfion/File.aspx?id=@GetString("Ecom:Product:Field.ProductSheet.Value.Clean")" title="Show product in PDF" target="_blank">PDF &nbsp;<i class="fa fa-file-pdf-o"></i></a> } else if (GetGlobalValue("Global:Area.Lang") == "de") { <a href="https://cdn.nybo.com/Perfion/File.aspx?id=@GetString("Ecom:Product:Field.ProductSheet.Value.Clean")" title="Zum Produkt im PDF" target="_blank">PDF &nbsp;<i class="fa fa-file-pdf-o"></i></a> } else if (GetGlobalValue("Global:Area.Lang") == "sv") { <a href="https://cdn.nybo.com/Perfion/File.aspx?id=@GetString("Ecom:Product:Field.ProductSheet.Value.Clean")" title="Vis produkt i PDF" target="_blank">Vis i PDF &nbsp;<i class="fa fa-file-pdf-o"></i></a> } } else { if (GetGlobalValue("Global:Area.Lang") == "da") { <a href='/report.aspx?q=normal&id=@GetString("Ecom:Product:Field.PerfionID")&reportname=ProductSheet_DA' title="Vis produkt i PDF" target="_blank">Vis i PDF &nbsp;<i class="fa fa-file-pdf-o"></i></a> } else if (GetGlobalValue("Global:Area.Lang") == "en") { <a href="/report.aspx?q=normal&id=@GetString("Ecom:Product:Field.PerfionID")&reportname=ProductSheet_EN&language=en" title="Show product in PDF" target="_blank">PDF &nbsp;<i class="fa fa-file-pdf-o"></i></a> } else if (GetGlobalValue("Global:Area.Lang") == "de") { <a href="/report.aspx?q=normal&id=@GetString("Ecom:Product:Field.PerfionID")&reportname=ProductSheet_DE&language=de" title="Zum Produkt im PDF" target="_blank">PDF &nbsp;<i class="fa fa-file-pdf-o"></i></a> } else if (GetGlobalValue("Global:Area.Lang") == "sv") { <a href="/report.aspx?q=normal&id=@GetString("Ecom:Product:Field.PerfionID")&reportname=ProductSheet_SE&language=sve" title="Vis produkt i PDF" target="_blank">Vis i PDF &nbsp;<i class="fa fa-file-pdf-o"></i></a> } } </div> <p> @GetString("Ecom:Product:Field.Logos.Value.Clean") </p> <div class="variants" style="clear: both;"> <h3> @Translate("Color", "Farver", true) </h3> @foreach (var colorVariant in GetLoop("Custom:ColorVariants")) { if (!string.IsNullOrEmpty(colorVariant.GetString("Ecom:Product:Field.Image1.Value.Clean"))) { <a class="variant" style="display: inline-block; width: 66px; height: 66px; margin-top: 10px;" href='/default.aspx?ID=@GetGlobalValue("Global:Page.ID")&ProductID=@colorVariant.GetString("Ecom:Product.ID")&GroupID=@colorVariant.GetString("Ecom:Product:Field.ProductSegmentID.Value")' title='@colorVariant.GetString("Ecom:Product:Field.Ecom:Product.Color.Value.Clean") @colorVariant.GetString("Ecom:Product.Name")'> <img src='https://cdn.nybo.com/Perfion/Image.aspx?id=@colorVariant.GetString("Ecom:Product:Field.Image1.Value.Clean")&amp;fit=fit&amp;size=66x66&amp;format=png' alt='@colorVariant.GetString("Ecom:Product:Field.Ecom:Product.Color.Value.Clean") @colorVariant.GetString("Ecom:Product.Name")' /> </a> } } </div> @if (GetGlobalValue("Global:Area.Lang") == "da") { <div class="goto-collection" style="float: right;"><a href="mailto:info@nybo.com">@Translate("Contact", "Kontakt Nybo", true)</a></div> <div class="goto-collection" style="float: right;"><a href="/da-dk/kontakt/find-forhandler-1.aspx">@Translate("Dealerlist", "Gå til forhandlerliste", true)</a></div> } else if (GetGlobalValue("Global:Area.Lang") == "en") { <div class="goto-collection" style="float: right;"><a href="mailto:info@nybo.com">@Translate("Contact", "Kontakt Nybo", true)</a></div> <div class="goto-collection" style="float: right;"><a href="/en-gb/contact/find-dealer-1.aspx">@Translate("Dealerlist", "Gå til forhandlerliste", true)</a></div> } else if (GetGlobalValue("Global:Area.Lang") == "de") { <div class="goto-collection" style="float: right;"><a href="mailto:verkauf@nybo.com">@Translate("Contact", "Kontakt Nybo", true)</a></div> <div class="goto-collection" style="float: right;"><a href="/de-de/kontakt/händler-finden-1.aspx">@Translate("Dealerlist", "Gå til forhandlerliste", true)</a></div> } else if (GetGlobalValue("Global:Area.Lang") == "sv") { <div class="goto-collection" style="float: right;"><a href="mailto:info@nybo.com">@Translate("Contact", "Kontakt Nybo", true)</a></div> <div class="goto-collection" style="float: right;"><a href="/sv-se/kontakt/hitta-återförsäljare-1.aspx">@Translate("Dealerlist", "Gå til forhandlerliste", true)</a></div> } </div> </div> </div> </div> </div> </div> <!--End of Product catalog--> @{ List<string> relatedItems = null; var pageView = Dynamicweb.Frontend.PageView.Current() ?? Dynamicweb.Frontend.PageView.GetPageview(); var area = Dynamicweb.Content.Area.GetAreaById(pageView.AreaID); string langId = area.EcomLanguageID; if (!string.IsNullOrWhiteSpace(GetString("Ecom:Product:Field.RelatedItems"))) { relatedItems = GetString("Ecom:Product:Field.RelatedItems").Split(',').ToList(); } // If empty we have to look on the danish product for default value else if (langId != "LANG1") { var danishProduct = Dynamicweb.eCommerce.Products.Product.GetProductByID(GetString("Ecom:Product.ID"), null, "LANG1"); if (danishProduct != null) { var danishRelatedItems = danishProduct.GetProductFieldValue("RelatedItems").ToString(); if (!string.IsNullOrWhiteSpace(danishRelatedItems)) { relatedItems = danishRelatedItems.Split(',').ToList(); } } } if (relatedItems != null && relatedItems.Count > 0) { <div class="container-fluid"> <div class="bottomrow" id="related-items-slider"> <div class="tripplew"> <div class="tripplew-header"> <h1> @Translate("RelatedProducts", "Related Products: ", true) </h1> </div> <ul id="related-items-carousel"> @foreach (var productId in relatedItems.Where(x => x.Trim().Length >= 11)) { var product = Dynamicweb.eCommerce.Products.Product.GetProductByNumber(productId.Trim().Substring(0, 11)); if (product != null) { <li> @if (!string.IsNullOrEmpty(product.GetProductFieldValue("ExpiryDate").ToString())) { if (product.GetProductFieldValue("ExpiryDate").ToString() != "2999") { @*<div class="optional-label_carousel"> @Translate("ExpireDateName", "Udgår d.", true) @product.GetProductFieldValue("ExpiryDate").ToString() </div>*@ <div class="optional-label_carousel" style="background: none;"> </div> } else { <div class="optional-label_carousel" style="background: none;"> </div> } } else { <div class="optional-label_carousel" style="background: none;"> </div> } <a href='/default.aspx?ID=@GetGlobalValue("Global:Page.ID")&ProductID=@product.ID&GroupID=@product.GetProductFieldValue("ProductSegmentID")'> @if (!string.IsNullOrEmpty(product.GetProductFieldValue("Image1").ToString())) { <img src='https://cdn.nybo.com/Perfion/Image.aspx?id=@product.GetProductFieldValue("Image1").ToString()&amp;fit=fit&amp;size=120x166&amp;format=png' alt='@product.Name' /> } else { <img src="/admin/public/getimage.aspx?Image=/files/billeder/na.jpg&amp;Format=jpg&amp;Height=166" alt="" /> } </a> </li> } } </ul> </div> </div> </div> } } <div class="container-fluid"> <div class="bottomrow" id="collection-slider"> <div class="tripplew"> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12"> <div class="tripplew-header"> <h1> @Translate("ViewEntireCollection", "Se hele kollektionen", true) : @GetString("Custom:Collection.Name") </h1> <div class="goto-collection"> <a href='Default.aspx?ID=@GetString("Ecom:Product:Page.ID")&amp;GroupID=@GetString("Custom:Collection.ID")'> @Translate("GoToPage", "Gå til kollektionssiden", true) </a> </div> </div> <ul id="mycarousel"> @foreach (var collection in GetLoop("Custom:Collections")) { <li> @if (!string.IsNullOrEmpty(collection.GetString("Ecom:Product:Field.ExpiryDate.Value"))) { if (collection.GetString("Ecom:Product:Field.ExpiryDate.Value") != "2999") { @*<div class="optional-label_carousel"> @Translate("ExpireDateName", "Udgår d.", true) @collection.GetString("Ecom:Product:Field.ExpiryDate.Value") </div>*@ <div class="optional-label_carousel" style="background: none;"> </div> } else { <div class="optional-label_carousel" style="background: none;"> </div> } } else { <div class="optional-label_carousel" style="background: none;"> </div> } <a href='/default.aspx?ID=@GetGlobalValue("Global:Page.ID")&ProductID=@collection.GetString("Ecom:Product.ID")&GroupID=@collection.GetString("Ecom:Product:Field.ProductSegmentID.Value")'> @if (!string.IsNullOrEmpty(collection.GetString("Ecom:Product:Field.Image1.Value.Clean"))) { <img src='https://cdn.nybo.com/Perfion/Image.aspx?id=@collection.GetString("Ecom:Product:Field.Image1.Value.Clean")&amp;fit=fit&amp;size=120x166&amp;format=png' alt='@collection.GetString("Ecom:Product.Name")' /> } else { <img src="/admin/public/getimage.aspx?Image=/files/billeder/na.jpg&amp;Format=jpg&amp;Height=166" alt="" /> } </a> </li> } </ul> </div> </div> </div> </div> </div>

Accept cookies from this website

This website uses cookies to personalize and optimize the consumer's experience on the website Learn more about cookies

Old cookies can always be deleted in the browser settings

Cookies not accepted Accept all cookies