我不小心将演示模型类文件留在了 Razor Pages 中,扩展名为 .cs 而不是 .cshtml.cs。在一个简单的例子中,它是有效的。除了违反命名约定之外,该解决方案是否还有任何缺陷?而微软为何要达成这样的协议呢?毕竟,.cs 看起来比 .cshtml.cs 更干净、更实用。
cshtml.cs 文件用于声明与 Razor 页面关联的 PageModel 类。它只是 C# 代码,因此没有技术原因说明您不能像您所做的那样使用 .cs 文件来代替。
唯一实际的缺点是您失去了提供文件嵌套支持的 IDE(例如 Visual Studio)所提供的支持。命名约定继承自 Web 窗体,其中“代码隐藏”(另一个 C# 类)具有
aspx.cs 扩展名,视图模板具有 .aspx 扩展名。
*.cshtml.cs
命名约定的另一个价值是它可以深入了解类文件的内容,与 JavaScript 文件的命名方式非常相似。以
three.module.js
three.module.min.js
three.js
(在 v150+ 中已弃用)
three.min.js
(在 v150+ 中已弃用)
.js
的 JavaScript 文件,但附加的命名“扩展名”为文件的content 提供了线索:
three.module.js
是核心
three.js
项目的 ES 模块版本。
three.module.min.js
是 ES 模块构建的缩小版本。
three.min.js
是原始 ES 模块之前版本
three.js
文件的缩小版。Razor 项目中的
/Pages
文件夹可以包含以下内容:
索引.cshtmlIndex.cshtml.cs
的命名约定提供了此类文件具有页面模型声明并与 Razor 视图文件关联的见解。
文件Index.cs
,如果与
Index.cshtml
和Index.cshtml.cs
位于同一文件夹中,可以包含任何内容,例如Index.cshtml.cs
中使用的类模型声明。该文件可以通过这种方式命名,以将 Index.cs
与 Razor 页面相关联。