通过Model的特性修改显示的内容/规则
目前在Index页面上,显示的表头都是model的字段名,在实际项目中通常不会这么做,这里我们修改一下Model部分来让表头显示的更加直观。
1.引入System.ComponentModel.DataAnnotations.Schema,也可以事后根据提示自动添加。
2.[Display(Name = "标题")],指定属性显示的名称为 Name = “xxx” 的内容。
3.[DataType(DataType.Date)],限制日期字段只显示到年月日。
4.[Column(TypeName ="decimal(18,2)")],则是为了让价格字段能正确映射到数据库的货币类型。
using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace StandardCoreStudy.Models { public class Movie { /// <summary> /// ID /// </summary> public int ID { get; set; } /// <summary> /// 标题 /// </summary> [Display(Name = "标题")] public string Title { get; set; } = string.Empty; /// <summary> /// 发布日期 /// 表示发布日期只需要日期,不需要精确到时间部分 /// </summary> [Display(Name ="发行日期")] [DataType(DataType.Date)] public DateTime ReleaseDate { get; set; } /// <summary> /// 类型 /// </summary> [Display(Name = "类型")] public string Genre { get; set; } = string.Empty; /// <summary> /// 价格 /// </summary> [Display(Name = "票价")] [Column(TypeName ="decimal(18,2)")] public decimal Price { get; set; } } }
修改Detail详情页的路由规则
目前在列表页index上,详情页的链接规则是
<a asp-page="./Details" asp-route-id="@item.ID">Details</a>
生成的html代码是
<a href="/Movies/Details?id=1">Details</a>
可以修改@page指令来变成 /Movies/Details/1
打开详情页Detail.cshtml,在头部修改代码
@page "{id:int?}"
生成后,可以发现指向详情页的链接格式已经自动更新成 /Movies/Details/id这种了,而修改edit和删除delete的 链接格式 则没有变化。
标签:Core,set,Razor,Name,get,Display,page,public,string From: https://www.cnblogs.com/luyShare/p/17390775.html