asp.net mvc团队是否为枚举实现了默认模型绑定?一个开箱即用,无需为枚举创建自定义模型绑定器.
更新:
假设我有一个接收视图模型的动作,JSON对象将被发布到动作中.
jsObj{id:2,name:'mike',personType: 1}
和视图模型:
class viewmodel { public int id {get;set;} public string name {get;set;} public PersonType personType{get;set;} } public enum PersonType : int { Good = 1,Bad = 2,Evil = 3 }
这个人的类型会受到约束吗?
解决方法
它甚至还有早期版本.此html和Gender = Male表单值正确绑定到Gender enum属性.
<select id="Gender" name="Gender"> <option value="Male">Male</option> <option value="Female">Femal</option> </select>
对于服务器端,我发现在我的视图模型中使用选择列表最容易
public class User { public UserType UserType { get; set; } public IEnumerable<SelectListItem> UserTypesSelectList { get; set; } public User() { UserTypesSelectList = Enum.GetNames(typeof(UserType)).Select(name => new SelectListItem() { Text = name,Value = MakeEnumMoreUserFriendly(name) }); } } public enum UserType { First,Second }
并在视野中
@Html.DropDownListFor(model => model.UserType,Model.UserTypesSelectList)