使用下拉列表选择模型的值

本文关键字:模型 选择 下拉列表 | 更新日期: 2023-09-27 18:30:45

使用 MVC 4, Razor

我有一个这样的模型:

public class Device
{
[Required]
public string TYPE {get; set;}
}

我需要在表单中从用户那里获取 TYPE 的值,但它们仅限于 3 个值,"A"、"B"、"C"

如何在"视图"部分中强制执行/执行此操作?

现在我有:
@Html.EditorFor(model => model.TYPE)
但这将允许用户写下他们想要的任何内容。

使用下拉列表选择模型的值

最简单的方法

@Html.DropDownListFor(model => model.TYPE, 
new List<SelectListItem>
    {
        new SelectListItem { Text = "A", Value = "A" },
        new SelectListItem { Text = "B", Value = "B" },
        new SelectListItem { Text = "C", Value = "C" },
    })

最好使用DropDownListFor并让用户从可用值中进行选择。首先为 TYPE 创建一个枚举:

public enum PickType
{
    "A",
    "B",
    "C",
}

然后在您的视图中:

@Html.DropDownListFor(model=>model.TYPE, new SelectList(Enum.GetValues(typeof(PickType))))