ASP.NET Core 6添加带模型Razor分部视图时缺失Empty脚手架模板
原因说明
该选项差异是Visual Studio 2022正式版的脚手架模板调整导致,和.NET 6版本迭代无关。
VS2022正式发布时,微软对Razor视图的脚手架模板做了重命名和拆分:早期预览版里自带模型绑定的「Empty」模板被移除,空模板仅保留无模型绑定的Empty (without model)选项,原来的强类型空模板能力被整合到Details、Edit这类强类型模板中,正式版环境里找不到对应选项属于正常现象。
手动实现等效效果的方案
选择Empty (without model)模板完全可以手动修改出和教程演示完全一致的效果,操作步骤如下:
- 新建视图时选择
Empty (without model)模板,视图名填写_CustomerDetails,勾选「创建为分部视图」,取消勾选布局页相关选项,完成基础文件创建 - 打开生成的
_CustomerDetails.cshtml文件,在文件最顶部添加强类型模型绑定声明:
@model 你自己的项目命名空间.Models.Customer
请将代码中的命名空间替换为你项目中Customer类所在的实际命名空间。
- 完成上述修改后,就可以和教程操作一致,直接通过
Model访问Customer实例的属性编写视图逻辑,最终运行效果和使用旧版带绑定Empty模板生成的视图没有任何区别。
效率优化小技巧
如果不想每次手动输入@model声明,也可以在新建视图时直接选择Details模板,绑定Customer模型后生成视图,删掉模板自动生成的默认HTML标签,仅保留顶部的@model声明行,再将视图重命名为_CustomerDetails并标记为分部视图即可,能省掉手动写模型绑定的步骤。
内容的提问来源于stack exchange,提问作者JHookerDev
相关产品推荐
相关产品推荐

