Exception in template (ItemPublisher/List/Case_List.cshtml): System.ArgumentOutOfRangeException: StartIndex cannot be less than zero.
Parameter name: startIndex
at System.String.Remove(Int32 startIndex, Int32 count)
at CompiledRazorTemplates.Dynamic.ecfdeabdfdda.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()
@using System.Text.RegularExpressions
@using System.Web
@{
var items = GetLoop("ItemPublisher:Items.List");
var canEdit = GetBoolean("ItemPublisher:Items.CanEdit");
var fields = GetLoop("ItemPublisher:ItemType.Fields");
int imageWidth = 260;
int imageHeight = 260;
int crop = 0;
string queryString = HttpContext.Current.Request.QueryString["CaseId"]!=null ? HttpContext.Current.Request.QueryString["CaseId"].ToString() : string.Empty;
var url = GetGlobalValue("Global:Pageview.Url");
string pageUrl = "/Default.aspx?ID="+GetGlobalValue("Global:Page.ID");
}
@if(items.Count > 0 && string.IsNullOrEmpty(queryString)){
<div class="items col-xs-12">
<div class="items-list row">
@foreach (LoopItem i in items){
int id = i.GetInteger("ItemPublisher:Item.Field.Id");
int counter = i.GetInteger("ItemPublisher:Items.List.LoopCounter");
string headline = i.GetString("ItemPublisher:Item.Headline");
int overviewImageWidth = 400;
int overviewImageHeight = 400;
string overView_imagePath = i.GetString("ItemPublisher:Item.Overview_Image");
string imageFixed = !string.IsNullOrWhiteSpace(overView_imagePath) ? "/Admin/Public/getImage.ashx?Image=" + overView_imagePath + "&Format=jpg&Width=" + overviewImageWidth + "&Height=" + overviewImageHeight + "&Crop="+crop : string.Empty;
string overView_text = i.GetString("ItemPublisher:Item.Overview_Text");
string overView_url = i.GetString("ItemPublisher:Item.DetailsUrl");
string overView_link = pageUrl+"&CaseId=Case:"+id;
string projectListElementClass = "col-xs-12 col-sm-6 col-md-4 project-list-element";
projectListElementClass += (counter-1)%3==0 ? " clear-fix" : "";
<div class="@projectListElementClass" onclick="location.href='@(!string.IsNullOrWhiteSpace(overView_link) ? overView_link : overView_url)'">
<h3>@headline</h3>
<img src="@imageFixed" class="img-responsive"/>
<p class="overview_Text">@overView_text</p>
<p class="readMore btn btn-default">Læs mere</p>
</div>
}
</div>
</div>
} else if(items.Count > 0){
int skipable = Convert.ToInt32(queryString.Replace("Case:", ""));
foreach (LoopItem i in items.Skip(skipable-1).Take(1)){
string itemText = i.GetString("ItemPublisher:Item.List_text.Value");
int itemAmountOfLetters = i.GetInteger("ItemPublisher:Item.List_AmountOfLetters");
if(string.IsNullOrWhiteSpace(itemText) && itemAmountOfLetters > 0){
string itemContent = Regex.Replace(i.GetString("ItemPublisher:Item.Content.Value"), "<.*?>", string.Empty);
string itemTextCleanView = itemContent.Substring(0, Math.Min(itemContent.Length, itemAmountOfLetters));
itemText = itemContent.Length>itemAmountOfLetters ? itemTextCleanView+"..." : itemTextCleanView;
}
string imageFixed = !string.IsNullOrWhiteSpace("itemImage") ? "/Admin/Public/getImage.ashx?Image=" + "itemImage" + "&Format=jpg&Width=" + imageWidth + "&Height=" + imageHeight + "&Crop="+crop : string.Empty;
int id = i.GetInteger("ItemPublisher:Item.Field.Id");
int counter = i.GetInteger("ItemPublisher:Items.List.LoopCounter");
string headline = i.GetString("ItemPublisher:Item.Headline");
if(queryString == "Case:"+id){
var slider = i.GetLoop("ItemPublisher:Item.Slides");
string content_headline = i.GetString("ItemPublisher:Item.Headline");
string content_text = i.GetString("ItemPublisher:Item.Content");
string externalLink = i.GetString("ItemPublisher:Item.Link");
string prevPage = string.Empty;
string nextPage = string.Empty;
int place = url.LastIndexOf(queryString);
int prevId = id==1 ? items.Count : id-1;
int nextId = id==items.Count ? 1 : id+1;
prevPage = url.Remove(place, queryString.Length).Insert(place, "Case:"+prevId);
nextPage = url.Remove(place, queryString.Length).Insert(place, "Case:"+nextId);
<div>
@if(!string.IsNullOrWhiteSpace(headline)){
<h1 class="project-title">@headline</h1>
}
<div class="project-nav">
<a href="@pageUrl" class="project-button project-button-overview btn btn-default"><span class="glyphicon glyphicon-arrow-left"></span> Oversigten</a>
<a href="@prevPage" class="project-button project-button-prev btn btn-default"><span class="glyphicon glyphicon-arrow-left"></span></a>
<a href="@nextPage" class="project-button project-button-next btn btn-default"><span class="glyphicon glyphicon-arrow-right"></span></a>
</div>
@if(slider.Count>0){
var sliderListId = string.Format("bxslider-{0}", id);
var sliderContainerId = string.Format("slider-frame-{0}", id);
<div class="slider-frame" id="@sliderContainerId">
<ul class="bxslider list-unstyled" id="@sliderListId">
@for(var s = 0; slider.Count > s; s++){
var item = slider[s];
var imageUrl = item.GetValue("ItemPublisher:Item.Slides.Baggrundsbillede");
string imageslider_Link = item.GetString("ItemPublisher:Item.Slides.Link");
string overskrift = item.GetString("ItemPublisher:Item.Slides.Overskrift");
string tekst = item.GetString("ItemPublisher:Item.Slides.Tekst");
string statement = item.GetString("ItemPublisher:Item.Slides.Statement");
string imgAlt = item.GetString("ItemPublisher:Item.Slides.Alt_tekst");
string onClick = string.Empty;
string mouseStyle = string.Empty;
if(!string.IsNullOrEmpty(imageslider_Link)){
onClick="location.href='/"+imageslider_Link+"'";
mouseStyle="cursor:pointer;";
}
<li class="sliderItem" onclick="@onClick" style="@mouseStyle">
<img src="@imageUrl" alt="@imgAlt" />
@if(!string.IsNullOrEmpty(statement)){
<div class="bx-statement">
<h1>@statement</h1>
</div>
}
@if((!string.IsNullOrEmpty(overskrift) || !string.IsNullOrEmpty(tekst))){
<div class="bx-caption">
<h2>@overskrift</h2>
<p>@tekst</p>
</div>
}
</li>
}
</ul>
</div>
<script>
$(document).ready(function(){
if(boxSlider == undefined){
boxSlider = [{sliderList:'#@sliderListId', slideOptions: {captions: "true", auto: @(slider.Count>1 ? "true" : "false"), pager: @(slider.Count>1 ? "true" : "false")}}];
} else {
boxSlider.push({sliderList:'#@sliderListId', slideOptions: {captions: "true", auto: @(slider.Count>1 ? "true" : "false"), pager: @(slider.Count>1 ? "true" : "false")}});
}
});
</script>
}
@if(!string.IsNullOrWhiteSpace(content_headline)){
<h2>@content_headline</h2>
}
@if(!string.IsNullOrWhiteSpace(content_text)){
<text>@content_text</text>
}
@if(!string.IsNullOrWhiteSpace(externalLink)){
<a href="@externalLink" target="_blank">Besøg @headline</a>
}
</div>
break;
}
}
}