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不相干。
本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/814704 ,如需转载请自行联系原作者