asp.net-mvc - Razor 语法错误

标签 asp.net-mvc asp.net-mvc-4 razor

我想使用 foreach 创建一个表列表中有 n 个元素,只有 2 列,然后添加一行。

我有这段代码,但我找不到正确的 razor 语法,它的唯一工作方法是删除 if<tr> 结尾.

希望有人能帮助我。

<table style="width: 100%">
    @{ 
        var vehiclesData = (IEnumerable<JMCapitalSeguros_Model.Entities.VehicleTable>)ViewData["Vehicles"]; 
        foreach (var vehicle in vehiclesData.Select((o, i) => new { Vehicle = o, Index = i }))
        {
            bool row = vehicle.Index % 2 == 0;
            if(row){ 
                <text>
                    <tr> 
                </text>   
            }

            <td width="50%">
                <label class="none">
                    @Html.RadioButtonFor(m => m.IdVehicleTable, vehicle.Vehicle.IdVehicleTable)@vehicle.Vehicle.Alias</label>
            </td>

            if(row)
            {
                <text>
                    </tr>
                </text>
            }

        }
    }
</table>

最佳答案

试试这个

@:将输出以下html内容

@ 让编译器将以下 block 视为 C#。 Html 将被正确输出,因为它会识别为 html

    <table style="width: 100%">
    @{ 
         var vehiclesData = (IEnumerable<JMCapitalSeguros_Model.Entities.VehicleTable>)ViewData["Vehicles"]; 
     }
    @foreach (var vehicle in vehiclesData.Select((o, i) => new { Vehicle = o, Index = i })) {
         bool row = vehicle.Index % 2 == 0;
         if(row){ 
             @:<tr> 
         }

         <td width="50%">
             <label class="none">@Html.RadioButtonFor(m => m.IdVehicleTable, vehicle.Vehicle.IdVehicleTable)@vehicle.Vehicle.Alias</label>
         </td>

         if(row){
             @:</tr>
         }
      }

关于asp.net-mvc - Razor 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22154103/

相关文章:

javascript - 如何在 MVC C# 中将列表作为参数传递给 Controller

c# - 使用 MVC/MCP 时如何在没有 switch 语句的情况下处理 UI 的派生类?

jquery - 带 dropzone 的后正规形式

c# - 将附加属性传递给 EditorTemplate

asp.net-mvc-3 - 如何在asp.net MVC razor中生成下拉列表

c# - 在 Jquery 中使用 c# 变量

c# - 安装 AspNet5RC1 后,无法再在任何以前/新的 MVC 项目中打开 cshtml 文件

c# - asp.net mvc 中的区域,一次只能工作一个

javascript - 使用 Jquery UI 日期选择器进行 knockout 日期未显示在提交按钮上

c# - Lambda 表达式 - 如何从 IEnumerable<Object> 向 where 子句提供值?