ASP.NET MVC概述与路由设置
- MVC:
Model模型(业务逻辑处理,处理或存储数据的组件),View视图(用户接口层组件,为用户展示结果),Controller控制器(处理用户交互,从Model中获取数据并传给指定的View)
注:ViewModel是视图模型
Controller中的内容会在View生成同名文件
URL地址栏→访问控制器Controller→调用Model过滤校验处理信息并从中取数据(Model可能会去访问数据库)→Controller根据业务逻辑选择合适的View进行页面显示
当MVC作为一种表现模式时:
当MVC作为一种架构模式综合模型:
-
相对于WebForm,MVC更适合于大项目,它在更多细节方面可控。
而WebForm.有更多可复用控件即代码段。 -
从VS中生成Web,选择MVC模式,自动生成的基本文件组织结构:
在APP_Start中,Builder打包,Filter过滤,Route路由配置。
Builder中,Include了Scripts中的各版本jquery和bootsrap
Content:用css写的bootstrap样式
Controller:如HomeController,控制器名称是“Home”,控制器名后必须加上单词Controller
Global.asax中,是程序的入口,一开始就需要运行的代码
Web.config中,放一些关键的标签
- 程序运行输出时,得到一串URL(服务器名称+端口号,如localhost:53178),VS在创建项目时会分配一个随机端口。
VS附带IIS应用程序服务器,用于开发期间递交ASP.NET内容和服务。
- 访问http://localhost:53178
or http://localhost:53178/Home
or http://localhost:53178/Home/Index
都能得到相同界面,也就是HelloWorld文本页面
因为在APP_Start/RouteConfig文件中有着对URL的约定
现在此处,controller→home,action→index,id是Optional(可选择,可有可无的)
defaults(系统默认)语句意为:
如果URL没有明确指定controller或action,就会按照default语句设定默认执行
自行创建的控制器controller会在View中自动配备默认的index - 可以自行更改路由规则URL配置,id指定页面传递参数,如:
url:"{action}/{controller}/{id}"
此时,http://localhost:53178与http://localhost:53178/index/home访问效果相同