查看示例,所以我不确定我在这里做错了什么。 else 条件不工作,它告诉我 foreach 命令没有结束 }
<table class="rssTable">
@foreach (var item in PAL.Intranet.Models.RSSReader.GetRSSFeed("http://www.medicalnewstoday.com/rss/featurednews.xml"))
{
<tr>
@if (rssCount % 2 != 0)
{
<td class="rssTableOdd">
}
else
{
<td class="rssTableEven">
}
<a href="@item.Link" target="_blank">@Html.Encode(item.Title.Replace("Medical News Today: ", ""))</a><br />
@Html.Raw(item.Description)
</td>
</tr>
rssCount++;
if (rssCount.Equals(5))
{
rssCount = 0;
break;
}
}
</table>
最佳答案
将 if
逻辑简单重写为内联条件将防止 Razor 引擎与您的特定设置混淆(尽管我的条件仍然混淆 StackOverflow 的代码引擎:):
@foreach (var item in PAL.Intranet.Models.RSSReader.GetRSSFeed("http://www.medicalnewstoday.com/rss/featurednews.xml"))
{
<tr>
<td class="@(rssCount % 2 != 0 ? "rssTableOdd" : "rssTableEven")">
<a href="@item.Link" target="_blank">@Html.Encode(item.Title.Replace("Medical News Today: ", ""))</a><br />
@Html.Raw(item.Description)
</td>
</tr>
rssCount++;
if (rssCount.Equals(5))
{
rssCount = 0;
break;
}
}
关于c# - Razor 语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27153610/