ASP.NET MVC与.NET Framework关系
.NET Framework是一个庞大的代码库,能为多种编程语言提供支持(如C#、VB、F#等)。同时.NET Framework 提供了多种技术框架,ASP.NET MVC是.NET Framework提供的众多技术框架中的一种,用于开发Web应用。
.NET Framework平台提供的技术框架如下:
- Web应用:ASP.NET MVC、Web Form、ASP.NET网页。
- 桌面应用:Win Form、WPF
补充:Web应用的三个框架并不相互排斥,同一个应用程序的组件可以使用不同框架开发,即多种框架开发同一个应用程序。
MVC架构
在“模型-视图-控制器(MVC)”模式中视图是嵌入了Razor标记的HTML文件,以.cshtml为后缀。视图文件存放在Views目录下,Views文件夹与Controller文件夹处于同一层级,并且Views文件夹下的文件与Controllers文件内的文件有很强的对应关系。
- Controllers下的.cs文件忽略后缀,与Views文件夹下的目录保持同名。如下图所示:
- .cs文件中的方法名与Views文件夹下对应目录中的.cshtml文件同名。
public class GoodsController : Controller { public ActionResult ShowGoodsIndex(string GoodsId) { return View(); } }
ASP.NET MVC框架使用了约定大于配置的思想,按照框架约定的结构组织文件,浏览器请求某个Controller方法时,该方法默认返回与方法同名的.cshtml文件,浏览器接收.cshtml并渲染页面。
Views文件夹下的其他文件
1、Views/Shared/_Layout.cshtml
_Layout.cshtml是MVC框架默认的布局文件,在创建项目的时候会自动生成一个模板,该模板的布局效果如下:
想在某页面上应用该布局,找到对应的.cshtml文件,在文件最上方添加以下Razor标记:
@{ Layout = "_Layout"; }
默认情况下布局文件都含有 @RenderBody() 方法,该方法所在的位置就是布局中展示视图的位置,默认在Content标签块中。
2、Views/_ViewStart.cshtml
_ViewStart.cshtml是一个全局的布局文件,程序中每个.cshtml页面都会默认使用_ViewStart提供的布局。在_ViewStart.cshtml文件中引入其他布局,可以实现布局管理。以下代码表示项目中所有页面都使用_Layout布局,若有其他布局文件可以在此切换。