一 使用数据库,生成原始数据
原文链接:http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore-2_4_5-working-with-sql.html
基础知识:ApplicationDbContext
类负责连接数据库并将 Movie
对象和数据记录进行映射。 Startup.cs 文件中,数据库上下文是在 ConfigureServices
方法中用 Dependency Injection 容器进行注册的。
我在ApplicationDbContext.cs中对数据库文件进行了重载(所以并没有使用appsettings.json 文件中的配置)。
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { // 在本地开发模式下,它会从 appsettings.json 文件中获取连接字符串。 optionsBuilder.UseSqlite("Filename=./movie.db"); }
填充数据的方法可以参考原链接,2个步骤完成
二 Controller 方法与视图
链接:http://www.cnblogs.com/dotNETCoreSG/p/aspnetcore-2_4_6-controller-methods-views.html
1)不希望看到 release date 字段显示时间并且 ReleaseDate 应该是两个单词。
打开 Models/Movie.cs 文件并添加下面高亮的代码行:
using System.ComponentModel.DataAnnotations; //手动高亮,添加引用public class Movie { public int ID { get; set; } public string Title { get; set; } [Display(Name = "Release Date")] //手动高亮 [DataType(DataType.Date)] //手动高亮 public DateTime ReleaseDate { get; set; } public string Genre { get; set; } public decimal Price { get; set; } }
2)
- Anchor Tag Helper:Views/Movies/Index.cshtml 文件中的 MVC Core Anchor Tag Helper 自动生成Anchor(创建生成HTML元素)
<a asp-action="Edit" asp-route-id="@item.ID">Edit</a> | <!--手动高亮-->
[Bind]
特性:防止 over-posting (过度提交,客户端可能发送比期望还多的数据,比如只需要2个属性但是发送了3个属性)的一种方法。- Form Tag Helper:[ValidateAntiForgeryToken] 特性用来防止伪造请求,会在视图最终呈现文件中加入反伪造标记和服务器进行配对。
基架生成的代码使用几个 Tag Helper 方法来简化 HTML 标记。
- Label Tag Helper 用来显示字段名(“Title”、”ReleaseDate”、”Genre” 或者 “Price”)。
- Input Tag Helper 用来呈现 HTML
<input>
元素。 - Validation Tag Helper 显示关联到属性的错误信息。
3)验证环境
时间: 2024-10-09 15:55:27