Asp.net mvc 为什么视图和局部视图在Razor中具有相同的cshtml文件扩展名?

Asp.net mvc 为什么视图和局部视图在Razor中具有相同的cshtml文件扩展名?,asp.net-mvc,razor,Asp.net Mvc,Razor,我在学一些。我对扩展文件有点困惑:视图和部分视图似乎共享相同的扩展名cshtml。我认为这对我来说是一个错误,但我重新选中了复选框,两种文件的扩展名都相同 此外,使用webform view engine,通过颜色或/和扩展更容易定位视图(视图为白色-.aspx,部分为黄色-.ascx,主视图为白色/蓝色-.Master) 如果现在必须这样,为什么视图和局部视图共享相同的扩展有什么原因使它们都具有相同的扩展名吗? 感谢您的帮助,Razor视图和局部视图不需要单独的文件扩展名,因为它们使用相同的基

我在学一些。我对扩展文件有点困惑:视图和部分视图似乎共享相同的扩展名cshtml。我认为这对我来说是一个错误,但我重新选中了复选框,两种文件的扩展名都相同

此外,使用webform view engine,通过颜色或/和扩展更容易定位视图(视图为白色-.aspx,部分为黄色-.ascx,主视图为白色/蓝色-.Master)

如果现在必须这样,为什么视图和局部视图共享相同的扩展有什么原因使它们都具有相同的扩展名吗?


感谢您的帮助,Razor视图和局部视图不需要单独的文件扩展名,因为它们使用相同的基类


相比之下,WebForms(ASPX)页面、用户控件和母版页都来自不同的基类,这就是为什么需要进行区分。这仅仅是在创建Asp.Net WebForms过程中做出的设计决策的结果。

产生了意义。但是,它们是否会通过解决方案浏览器中的图标颜色使它们有所不同?只是为了让人们很容易找到不同类型的文件?只是为了在同一文件夹中有许多文件时使事情变得更简单。@Richard77一个简单的区分方法是创建命名约定。示例:您的母版页可以是
\u Layout.cshtml
,您的部分可以是
viewnameportial.cshtml
,因为扩展名相同,所以无法区分这两个文件角色。命名约定最适合这样的目的。嗯,这是一个有趣的问题。谢谢