如何在ASP.NET MVC Razor中有条件地显示字段?

dmi*_*er1 12 c# asp.net-mvc razor

我是C#和ASP.NET MVC Razor的新手.如果字段不为空,我想在视图中显示一个字段.

<tr class="hide" id="trPhone2">
            <td class="editor-label">
                @Html.LabelFor(model => model.phone2)
            </td>
            <td>
                @Html.EditorFor(model => model.phone2)
            </td>
            <td>
                @Html.ValidationMessageFor(model => model.phone2)
            </td>
        </tr>
Run Code Online (Sandbox Code Playgroud)

现在,我想输出第一<tr>行,如果model.phone2 is ""和输出:

<tr id="trPhone2">
Run Code Online (Sandbox Code Playgroud)

我如何使用ASP.NET MVC Razor做到这一点?

gwi*_*003 9

语法可能不完美,但试试这个:

    @{ 
        var trClass = string.IsNullOrEmpty(Model.phone2) ? "hide" : ""; 
    }

    <tr class="@trClass" id="trPhone2">
        <td class="editor-label">
            @Html.LabelFor(model => model.phone2)
        </td>
        <td>
            @Html.EditorFor(model => model.phone2)
        </td>
        <td>
            @Html.ValidationMessageFor(model => model.phone2)
        </td>
    </tr>
Run Code Online (Sandbox Code Playgroud)


And*_*rei 5

@if (string.IsNullOrEmpty(Model.phone2))
{
    <tr class="hide" id="trPhone2">
}
else
{
    <tr id="trPhone2">
}
Run Code Online (Sandbox Code Playgroud)