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

时间:2013-09-09 15:54:48

标签: c# asp.net-mvc razor

使用MVC 4,Razor

我有一个这样的模型:

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

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

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

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

2 个答案:

答案 0 :(得分:1)

最简单的方法

@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" },
    })

答案 1 :(得分:0)

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

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

然后在你的视图中:

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