C# 视图中的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) { <

我对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="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将如何++?