c#和HTML代码一起在Razor视图MVC

本文关键字:Razor 视图 MVC 一起 HTML 代码 | 更新日期: 2023-09-27 18:13:32

我试图用MVC4 Razor语法实现以下内容。下面是我要写的代码:

@{
    int counter = 1;
    @foreach (var item in Model)
    {
        @if (counter == 1)
        {
            <div class="section show">
        }
        else
        {
            <div class="section">
        }                                                
        <span>@counter <text> .</text> @Html.DisplayFor(ab => item.Title)</span>
        <div class="section-content">
            @Html.DisplayFor(ab => item.Description)
        </div>    
    </div>
    counter++;
    }
}

上面的代码没有任何编译错误。但它会导致运行时错误。它说关闭标签不见了。是否有可能使c#代码和HTML代码一起工作以实现我在这里想要实现的结果?

我正试图获得c#代码,并使它们基于条件工作。例如,在if语句中,如果Counter为1,则将选择第一个div类,其余时间将选择第二个div类。

谢谢。(我已经更新了问题)

c#和HTML代码一起在Razor视图MVC

不要用if来创建div,用它来决定class属性的值:

    @{
    int counter = 1;   
    foreach (var item in Model)    
     {      
      result = "section";
         if (counter == 1)                                                
         {
             result = "section show";                                        
         }
     <div class="@result">
         <span>@counter <text> .</text> @Html.DisplayFor(ab => item.Title)</span>
         <div class="section-content">
             @Html.DisplayFor(ab => item.Description)
         </div>
     </div>
     counter++;
     }                                                                                    
 }