MVC核心命名空间:
- System.Web.Routing
URL路由在该命名空间下提供了使用URL路由功能的类,它可以将一个URL路由映射到对应的Controller上,而不是映射到一个物理文件.
- System.Web.Extensions
这是ASP.NET.Ajax的命名空间,在MVC中使用Ajax功能时需要引用
- System.Web.Mvc
ASP.NET.MVC最主要的命名空间,该命名包含一些类和接口
- System.Web.Abstractions
该命名空间包含有一些相关的基类 E.g. HttpContextBase HttpRequestBase
- System.Web.DynamicData
该命名空间包含为ASP.NET动态数据提供核心功能类
MVC程序的目录结构:
- 引用
包含项目运行时所需的命名空间与程序集
- App_Data
这是数据的物理存储区
- Content
添加内容文件 E..g. 级联样式表文件 图像..通常Content文件夹用于存储静态文件
- Controllers
存放控制器
- Models
存放应用程序的模型的类. 此文件夹包括定义的对象,定义与数据存储交互所用的逻辑代码
- Scripts
储存支持应用程序的脚本. 默认情况下文件夹包含ASP.NET.Ajax的基础文件和jQuery库
- Views
存储视图
- Shared文件夹
用于存储在多个控制器之间共享的视图
MVC路由:
ASP.NET MVC Web 应用程序使用Global.asax文件代码设置全局URL的路由默认值并使用Web.config文件来配置应用程序
默认路由将所进入的请求拆分为3个单元:
第一个单元映射到控制器名称
第二个单元映射到操作的名称
最后有一个单元映射到传递给才做名称ID的参数
*Note:http://localhost URL被解析为: Controller = Homecontroller Action=Index Id=“”
MVC项目中的模型, 视图, 控制器
控制器包含要求返回正确视图或者将用户重定义向另一操作的最小逻辑
视图只包含与生成用户界面相关的逻辑
模型包含所有应用程序的业务逻辑和数据库访问逻辑