(1)asp-for 用于 label时,注意写法
在Asp.net Core Razor Pages中,
<label asp-for="Movie.Name"/>不能被正常渲染,即显示不出来Name;
修改为:
<label asp-for="Movie.Name"></label>
(2) vs2019中使用Razor Pages项目时,无“新搭建的基架项目”时,执行如下命令:
dotnet tool install -g dotnet-aspnet-codegenerator
dotnet tool update -g dotnet-aspnet-codegenerator
有时执行了也不行,还得重新启动vs程序??
(3)使用“新搭建基架的项目”根据模型类(比如自定义的Movie)来自动生成“控制器-视图"之类的代码时,出现请安装Microsoft.VisualStudio.Web.CodeGeneration.Design时,明明已经安装了的,也出现这种错误。
解决方法:先卸载Microsoft.VisualStudio.Web.CodeGeneration.Design,再重新安装Microsoft.VisualStudio.Web.CodeGeneration.Design
(4)@Html.DisplayNameFor(model=>model.Movie[0].Title)表达式当Movie[0]为null是不会出现异常
(5) Edit页面上传入的ID应该放在<input>标签中,而不是放在<div>标签中,即写法如下
<input type="hidden" asp-for="Customer.ID"/>
(6)IHostingStartup的辅助功能
如果使用Scaffolding来生成 Identity的代码,则会同时在Areas/Identity代码目录下生成一个IdentityHostingStartup类,该类也会想DI容器中注册对象,他比Start.cs中的ConfigureServices方法执行得要早,甚至比Start类的构造方法执行的也早。但不管怎么讲,这里也实现了向DI容器中注册对象的功能。
以下链接值得一看:
使用.net core基于Razor Pages开发网站一些工作笔记