cshtml视图如果在foreach里面的其他内部

时间:2014-10-10 18:25:23

标签: c# sql razor

我试图在我的视图中显示记录。我只想显示TABLE_NUMBER1字段不具有空值的记录。我已经设置了这个,但我遇到了一个奇怪的问题,它不会识别其他的结束标记,只有foreach和if。具体来说,如果我为else添加一个结束标记,它会将其识别为整个razer部分的结束标记(也就是它的黄金)。

@if (Model.Count() == 0)
{
    <tbody>
    <tr>
        <td colspan="7">
            No Records match search criteria
        </td>
    </tr>
        </tbody>  
}  
else{          
foreach (var item in Model)
{
    var hiderows = @Html.DisplayFor(modelItem => item.TABLE_NUMBER1).ToString();
    if (hiderows != null)
    {     
        <tbody>       
        <tr>
            <td>
            <p class="one">@Html.DisplayFor(modelItem => item.PNTR_MAX)</p>
        </td>
            <td>
            <p class="one">@Html.DisplayFor(modelItem => item.EFFECTIVE_DATE1)</p>
        </td>
            <td>
            <p class="one">@Html.DisplayFor(modelItem => item.BANK_ROUTING_NUMBER)</p>
        </td>
            <td>
            <p class="one">@Html.DisplayFor(modelItem => item.TAX_ID)</p>
        </td>
            <td>
            <p class="one">@Html.DisplayFor(modelItem => item.BANK_NAME)</p>
        </td>
            <td>
            <p class="one">@Html.DisplayFor(modelItem => item.COMPANY_NAME1)</p>
        </td>
        <td>
            @Html.ActionLink("Edit", "..\\Table9\\Edit", new { id = item.EFTID }) 
            @Html.ActionLink("Details", "..\\Table9\\Details", new { id = item.EFTID }) 
            @Html.ActionLink("Delete", "..\\Table9\\Delete", new { id = item.EFTID })
        </td>               
    </tr>
</tbody>
}
}
}

1 个答案:

答案 0 :(得分:0)

这是错误的:

var hiderows = @Html.DisplayFor(modelItem => item.TABLE_NUMBER1);

将其更改为:

 @Html.DisplayFor(modelItem => item.TABLE_NUMBER1)
 if (item.TABLE_NUMBER1!= null)
{