使用MVC 4,Razor
我有一个这样的模型:
public class Device
{
[Required]
public string TYPE {get; set;}
}
我需要在表单中从用户获取TYPE的值,但它们仅限于3个值,“A”,“B”,“C”
如何在“视图”部分中强制执行/执行此操作?
现在我有:
@Html.EditorFor(model => model.TYPE)
但这将允许用户写下他们想要的任何内容
答案 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))))