在另一个视图中使用下拉列表中的文本值

时间:2019-01-14 19:19:02

标签: c# .net asp.net-mvc

我在创建视图中有一个@Html.DropDownListFor,并将值存储在模型中。我的问题是,如何在列表视图中显示此字段?

该字段是一个状态字段,因此值为“ A”或“ T”。在“列表”视图中,我看到“ A”或“ T”,但我希望它从下拉列表中显示“文本”值。

有一种简单的方法吗?

型号

namespace PershingNetX360Users.Models
{
    public class UserInfo
    {
        [ScaffoldColumn(false)]
        public ulong Id { get; set; }

        public string Status { get; set; }

    }
}

在我的创建视图中

        @Html.DropDownListFor(model => model.Status,
                           new List<SelectListItem>
            {
                new SelectListItem
                {
                    Text = @"Select...",
                    Value = " ",
                    Selected = Model.Status.Equals(" ")
                },
                new SelectListItem
                {
                    Text = @"Active",
                    Value = "A",
                    Selected = Model.Status.Equals("A")
                },
                new SelectListItem
                {
                    Text = @"Terminated",
                    Value = "T",
                    Selected = Model.Status.Equals("T")
                }
            })

在我的列表中

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.FirstName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.LastName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Division)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.LoginId)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Password)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Pin)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.RepId)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Status)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
            @Html.ActionLink("Details", "Details", new { id=item.Id }) |
        </td>
    </tr>
}

我可以使用@Html.DisplayFor()之外还有其他东西吗?还是将第二个字段添加到模型中以存储Text值并在列表中使用该字段?

0 个答案:

没有答案