I have code as below in umbraco partial view. Even though { } pairs matches, it shows the error i.e. } expected.
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
var langstr = "All";
var pageSize = 6;
var max_pages=0;
try
{
if (@ViewData["storylang"] == null)
{
langstr = "";
}
else
{
langstr = @ViewData["storylang"].ToString();
}
}
catch (Exception ex)
{
langstr = "";
}
var pageIndex = (int)@ViewData["page_index"];
dynamic selected;
if (@ViewData["curpage"] != null)
{
var id = (int)@ViewData["curpage"];
var currentNode = Umbraco.TypedContent(id);
selected = currentNode.Children.Where("Visible");
if(langstr != ""){
selected = currentNode.Children.Where("Visible").Where("language=\"" + @langstr + "\"");
max_pages = currentNode.Children.Count();
<ul>
@foreach (var story in selected.Take(pageIndex * pageSize))
{
<li class="col-lg-3 col-md-3 col-sm-6 col-xs-12"><a href="@story.Url" class="\""st-text"\">@story.Name</a></li>
}
</ul>
}
}
else
{
selected = CurrentPage.Children.Where("Visible");
max_pages = CurrentPage.Children.Count();
if(selected.Any()){
<ul>
@foreach (var story1 in selected.Take(pageIndex * pageSize))
{
<li class="col-lg-3 col-md-3 col-sm-6 col-xs-12"><a href="@story1.Url" class="st-text">@story1.Name</a></li>
}
</ul>
}
}
}
What is the issue with code? Can anyone solve the same? Where am I wrong? I have spend a lot behind this.
I solved the issue. It was mixing code and rendering blocks... so here is the solution.
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage
@{
var langstr = "All";
var pageSize = 6;
var max_pages=0;
try
{
if (ViewData["storylang"] == null)
{
langstr = "";
}
else
{
langstr = ViewData["storylang"].ToString();
}
}
catch (Exception ex)
{
langstr = "";
}
var pageIndex=1;
if(ViewData["page_index"]!=null)
{
pageIndex= (int)@ViewData["page_index"];
}
dynamic selected;
}
@if (ViewData["curpage"] != null){
var id = (int)ViewData["curpage"];
var currentNode = Umbraco.TypedContent(id);
selected = currentNode.Children.Where("Visible");
if(langstr != ""){
selected = currentNode.Children.Where("Visible").Where("language=\"" + @langstr + "\"");
max_pages = currentNode.Children.Count();
<ul>
@foreach (var story in selected.Take(pageIndex * pageSize))
{
<li class="col-lg-3 col-md-3 col-sm-6 col-xs-12"><a href="@story.Url" class="st-text">@story.Name</a></li>
}
</ul>
}
else{
selected = currentNode.Children.Where("Visible");
max_pages = currentNode.Children.Count();
<ul>
@foreach (var story in currentNode.Children.Where("Visible").Take(pageIndex * pageSize))
{
<li class="col-lg-3 col-md-3 col-sm-6 col-xs-12"><a href="@story.Url" class="st-text">@story.Name</a></li>
}
</ul>
}
}
else
{
selected = CurrentPage.Children.Where("Visible");
max_pages = CurrentPage.Children.Count();
if (selected.Any())
{
<ul>
@foreach (var story in selected.Take(pageIndex * pageSize))
{
<li class="col-lg-3 col-md-3 col-sm-6 col-xs-12"><a href="@story.Url" class="st-text">@story.Name</a></li>
}
</ul>
}
}