我在创建视图中有一个@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值并在列表中使用该字段?