Razor的开发是为了ASP.NET Web Pages(WebForm的那种),WebForm没有那种类似MVC架构中那种通过视图,路由的机制。因为在WebForm架构中,这种文件可以直接被访问,但是由于webPage中并不打算让这种layout page被直接访问,因此把他们加前缀下划线。这种加了下划线的文件,webpage框架无法直接访问。其他的.cshtml却可以被访问,他们就等同于asp或者php文件

ASP.NET开发团队规定web pages就是asp.net中的入口点,为了让web pages能方便的移植到mvc,就使用这种命名约定。

总之一句话,加前缀了就是为了防止直接访问该文件。所以,加前缀这是一个技术原因,和MVC不相干。