c# - View 中的 MVC If 语句

标签 c# asp.net-mvc razor

我对 MVC View 中的 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>

最佳答案

你只需要在前缀前加一个 if声明 @如果您尚未进入 Razor 代码块。

编辑:您的代码现在有一些问题。

您要声明 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>
        }
    }
}

这里的重要部分是 @: .这是<text></text>的简写,用于强制 Razor 引擎呈现文本。

另外一件事,HTML 标准规定 a标签只能包含行内元素,而现在,您要放置一个 div ,这是一个 block 级元素,位于 a 中.

关于c# - View 中的 MVC If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20893628/

相关文章:

html - 如何防止在 Razor(独立)中转义 html?

c# - 将 viewbag 从 Action Controller 传递到局部 View

javascript - 如何在 ASP MVC 中隐藏表列

c# - 如何处理 ASP.NET MVC 3 中的复杂查询?

c# - 如何在 C# 中每 2 小时调用一次方法

c# - 把一个aspx页面变成一个链接?

asp.net-mvc - 引入 FOREIGN KEY 约束可能会导致循环或多条级联路径

asp.net-mvc - MVC.NET 站点 SSL - 站点无法生成安全连接

c# - 如何修复“System.StackOverflowException”?