ASP.NET MVC-显示编码字段的值
本文关键字:字段 编码 显示 NET MVC- ASP | 更新日期: 2023-09-27 17:58:35
在离开ASP.NET几年后,我最近开始做一个回归,尤其是MVC。假设你有一个这样的电影课:
public class Movie
{
public int ID { get; set; }
[StringLength(60, MinimumLength = 3)]
public string Title { get; set; }
[Display(Name = "Release Date")]
[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
public DateTime ReleaseDate { get; set; }
[Required]
public int Genre { get; set; }
[Range(1, 100)]
[DataType(DataType.Currency)]
public decimal Price { get; set; }
[RegularExpression(@"^[A-Z]+[a-zA-Z''-''s]*$")]
[StringLength(5)]
public string Rating { get; set; }
}
我更改了"创建/编辑"视图中的"流派"字段,以便用户根据以下内容从选择框中进行选择:
1 = Action;
2 = Adventure;
3 = Comedy;
4 = Horror;
5 = Disaster;
6 = Political;
7 = Thriller;
有没有一种简单的方法可以在视图/详细信息页面中显示相应的"Human"值,而不是普通整数?
(在我非常熟悉的Django中,您只需要movie.get_Genre_display()
:get_FOO_display()
我建议您显示DropDownList,这样您就可以使用枚举:
@Html.DropDownList("Genre",
Html.GetEnumSelectList(typeof(Genre)) ,
"Select My Type",
new { @class = "form-control" })
如果要将枚举显示为字符串,请在模型中将其从int更改为YourNumType:
public class Movie
{
...
[Required]
public GenreEnum Genre { get; set; }
...
}
在剃刀里只写
@Html.DisplayFor(model=> Model.Genre )