Razor将我的if语句输出为HTML

时间:2015-09-29 10:30:59

标签: c# html if-statement razor

所以我有一把剃刀用来检查学习模块运行的月份和年份:

        @{  
                string liClass = "prl-4 prs-3";

                if(cssCount == 4){
                    liClass = "alpha prl-4 prs-3";
                }

                <li class="@liClass">
                <i class="icon-test"></i> 

                if(cYears.Count() > 1) {
                      if (cMonthDisplays.Count() > 1) {

                      @cMonthDisplays[0]<text>&nbsp;</text>@cYears[0] <text>/</text> @cMonthDisplays[1]<text>&nbsp;</text>@cYears[1]
                      } else {
                        @cMonthDisplay<text>&nbsp;</text>@cYears[0] <text>/</text> @cMonthDisplay<text>&nbsp;</text>@cYears[1]
                      }
                }
                else {
                      @cMonthDisplay<text>&nbsp;</text>@cYearDisplay
                }

                </li>
                cssCount++;
            }

我的剃刀的第一部分正常工作,当if语句发现计数与4匹配时,li的类被替换。

然而,在最初的&#39; if&#39;声明将第二个if语句输出作为HTML工作到我的页面。

然后会在我的页面上显示:

      if(cYears.Count() > 1) {
            if (cMonthDisplays.Count() > 1) {
               March 2016 / September  2017 
             } 
             else { March, September 2016 / March, September  2017 } 
      } 
      else { March, September 2016, 2017 }

我有点担心为什么我的if语句只显示第二个if语句。我可能遗漏了一些非常明显的东西 - 但是非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

您应该在@之前添加if

@if(cYears.Count() > 1) {