ViewModel
viewmode中值类型默认是必填的, 如果要选填后面要加?
引用类型要必填 要加
[Required(ErrorMessage= " ")]
[Compare(nameof(要比较的字段))]
[Range(10,20, ErrorMessage = "年龄必须在10-20之间")]
[Display(name="年龄")]
正规表达式
把action改为private就不允许别人访问了.
如果加上[NonAction] 就不是私但也能访问
[ActionName("ddd")] action起别名: 比如用来做重载时, 这样用时好区分
[DataType()] j是否是密码.