} 预期的部分视图剃刀错误
} expected partial view razor error
我在 Umbraco 部分视图中有如下代码。即使 { } 对匹配,它也会显示错误,即预期的 }。
@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>
}
}
}
代码有什么问题?任何人都可以解决同样的问题吗?我哪里错了?这背后我付出了很多。
还要比较主视图的所有左括号和右括号。
@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>
}
}
}
你有两个问题。
首先,这个:
class="\""st-text"\"
阻止正确解析该行并弄乱以下内容。你可能是说
class="st-text"
或
class='"st-text"'
然后,所有已经在 C# 代码上下文中的 @ViewData
必须替换为 ViewData
(即全部)。
我解决了这个问题。它正在混合代码和渲染块......
所以这是解决方案。
@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>
}
}
我在 Umbraco 部分视图中有如下代码。即使 { } 对匹配,它也会显示错误,即预期的 }。
@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>
}
}
}
代码有什么问题?任何人都可以解决同样的问题吗?我哪里错了?这背后我付出了很多。
还要比较主视图的所有左括号和右括号。
@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>
}
}
}
你有两个问题。
首先,这个:
class="\""st-text"\"
阻止正确解析该行并弄乱以下内容。你可能是说
class="st-text"
或
class='"st-text"'
然后,所有已经在 C# 代码上下文中的 @ViewData
必须替换为 ViewData
(即全部)。
我解决了这个问题。它正在混合代码和渲染块...... 所以这是解决方案。
@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>
}
}