Asp.net mvc 如果在razor视图中有其他html帮助程序?

Asp.net mvc 如果在razor视图中有其他html帮助程序?,asp.net-mvc,asp.net-mvc-4,razor,Asp.net Mvc,Asp.net Mvc 4,Razor,我想在Razor视图中使用IF-ELSE语句。是否可以使用IF(html.helper)然后执行某些操作?或者有什么建议 @using (Html.BeginForm()) { <table> @for (int i = 0; i < Model.Count; i++) { <tr> <td>

我想在Razor视图中使用IF-ELSE语句。是否可以使用IF(html.helper)然后执行某些操作?或者有什么建议

@using (Html.BeginForm())
{
    <table>

            @for (int i = 0; i < Model.Count; i++)
            {
                <tr>
                    <td>
                        @Html.HiddenFor(m => m[i].Question_ID)
                        @Html.HiddenFor(m => m[i].Type)
                        @Html.DisplayFor(m => m[i].Question)
                    </td>
                </tr>
                <tr>
                    @if(@Html.DisplayFor(m=> m[i].Type =="Info_Text") **
                    {
                        <td>
                              //DO NOTHING
                        </td>                
                    }
                    else
                    { 
                    <td>
                        @Html.EditorFor(m => m[i].Answer)
                    </td>
                    }
                </tr>
            }

    </table>
@使用(Html.BeginForm())
{
@for(int i=0;im[i].问题ID)
@Html.HiddenFor(m=>m[i].Type)
@DisplayFor(m=>m[i].问题)
@if(@Html.DisplayFor(m=>m[i].Type==“信息文本”)**
{
//无所事事
}
其他的
{ 
@EditorFor(m=>m[i].Answer)
}
}

为什么必须使用DisplayFor?您有什么特殊原因吗

如果你使用

if(Model[i].Type =="Info_Text")
{
<td>
    //DO NOTHING
</td>
}
if(模型[i]。类型==“信息文本”)
{
//无所事事
}

正如我在评论中提到的,您可以测试
m[I]的值。直接键入

@if (m[i].Type == "Info_Text") {
  <td></td>
} else {
  <td>@Html.EditorFor(m => m[i].Answer)</td>
}

由于您正处于学习MVC的过程中,您可能还对如何自定义
EditorFor
helper以自动执行此操作感兴趣:

您是否尝试过相同的操作?是否出现了一些错误..发布它。为什么您必须在html.helper上使用if语句,而不是在模型中的项上使用if语句?是否有任何特殊的原因不这样做测试
m[i]。类型==“信息文本”
而不是
DisplayFor
?大家好,我对Razor还不太熟悉,现在还在想办法。@DaveWard谢谢你的答案!我认为它必须与html.helper一起使用。@Edward.K:别担心,我们都还在想办法。我添加了一个答案,其中包含一些额外的信息,可能有助于澄清一些与此相关的问题。这是what@DaveWard在评论中说。你做了什么不同?
@if (Html.DisplayFor(m => m[i].Type) == new MvcHtmlString("Info_Text"))