C# 视图中的MVC If语句
我对MVC视图中的IF语句有问题。我试图使用它为每三个项目创建一行C# 视图中的MVC If语句,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,我对MVC视图中的IF语句有问题。我试图使用它为每三个项目创建一行 <div class="content"> <div class="container"> @if (ViewBag.Articles != null) { int nmb = 0; foreach (var item in ViewBag.Articles) { if (nmb % 3 == 0) { <
<div class="content">
<div class="container">
@if (ViewBag.Articles != null)
{
int nmb = 0;
foreach (var item in ViewBag.Articles)
{
if (nmb % 3 == 0) {
<div class="row">
}
<a href="@Url.Action("Article", "Programming", new { id = item.id })">
<div class="tasks">
<div class="col-md-4">
<div class="task important">
<h4>@item.Title</h4>
<div class="tmeta">
<i class="icon-calendar"></i> @item.DateAdded - Pregleda:@item.Click
<i class="icon-pushpin"></i> Authorrr
</div>
</div>
</div>
</div>
</a>
if (nmb % 3 == 0) {
</div>
}
}
}
</div>
</div>
@如果(ViewBag.Articles!=null)
{
int nmb=0;
foreach(ViewBag.Articles中的var项)
{
如果(nmb%3==0){
}
如果(nmb%3==0){
}
}
}
每次使用html语法时,下一个razor语句都必须以@开头。因此,它应该是@if…如果您不在razor代码块中,则只需要在if
语句前面加上@
编辑:您的代码现在有几处错误
您正在声明nmb
,但从未实际使用该值执行任何操作。所以你需要弄清楚它到底在做什么。为了修复代码,您需要做一些微小的更改:
@if (ViewBag.Articles != null)
{
int nmb = 0;
foreach (var item in ViewBag.Articles)
{
if (nmb % 3 == 0)
{
@:<div class="row">
}
<a href="@Url.Action("Article", "Programming", new { id = item.id })">
<div class="tasks">
<div class="col-md-4">
<div class="task important">
<h4>@item.Title</h4>
<div class="tmeta">
<i class="icon-calendar"></i>
@item.DateAdded - Pregleda:@item.Click
<i class="icon-pushpin"></i> Authorrr
</div>
</div>
</div>
</div>
</a>
if (nmb % 3 == 0)
{
@:</div>
}
}
}
@if(ViewBag.Articles!=null)
{
int nmb=0;
foreach(ViewBag.Articles中的var项)
{
如果(nmb%3==0)
{
@:
}
如果(nmb%3==0)
{
@:
}
}
}
这里的重要部分是@:
。这是
的缩写,用于强制razor引擎渲染文本
还有一件事,HTML标准规定,
a
标记只能包含内联元素,现在,您将一个div
,这是一个块级元素,放在a
中,我首先设置@IF,然后我需要输入item、URl和这个命令,所以我再次放在那里。。除了第三个,如果没有@,那么它只显示为文本。如果我把@放在第三位之前errors@zire再次更新我的答案。那会帮你解决的。约翰H。非常感谢你!这项工作现在。。。nmb我将使用它来增加循环nmb++。@zire很高兴它有帮助。:)如果总计数不能被3平均整除,如何关闭?那么nmb增量在哪里?我的意思是nmb将如何++?