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.eacfeababbfb.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>

Acceptera cookies från den här webbplatsen

Denna webbplats använder cookies för att spåra ditt beteende och förbättra din användarupplevelse på webbplatsen Läs mer om cookies

Du kan alltid ta bort dina sparade cookies i webbläsarinställningarna

Acceptera inte cookies Acceptera alla cookies