介绍
1、 ASP.NET WebForm和ASP.NET MVC是并行的关系。都是属于.NET框架下的子框架。
2、 MVC项目常用模板
空模板 : 不包含MVC目录结构,需要自己添加。
基本模板 : 包含MVC基本目录结构和基础文件。
Internet模板 :包含示例应用程序的文件。
3、 目录结构解释
/Controller:存放控制器文件
/Views:存放视图文件。后缀.cshtml或.aspx
/Models:存放数据模型文件
/App_Start:包含多个静态配置类,执行初始化任务。(必须默认启动的修改)
/Content:存放静态内容,如css,可下载的文件等。
话不多说,我们先来创建一个mvc项目
创建完成之前
会有一个弹框
由于我们是刚学,所以创建一个完整的mvc项目
视图引擎有两种 一种是razor 一种是ASPX 一般都是razor
这就是完整的mvc项目
默认是这个控制台
HomeController
默认视图是Index
默认路由规则中
默认控制器是:Home
默认Action是:Index
可以自行修改/ App_Start/ RouteConfig.cs中的代码。
这里有个小提示 默认url规则会吧后面的去掉,只要输入home就可以了
( 默认隐藏 ,可以自己输入)
(Controller可以省略)
传递数据
1、 ViewData
数据字典类型,存放的是键/值对数据。
2、ViewBag
存放的是dynamic动态类型数据。
3、TempData
存放临时数据,可以跨操作方法。
4、注意事项
ViewBag和ViewData仅针对当前Action中有效。
Tempdata数据最多只能经过一次controller传递,并且每个元素最多只能访问一次,之后删除。
ViewData["name"] = "ViewData";
//viewBag
ViewBag.Message = "ViewBag";
//TempData
TempData["TempData"] = "TempData";
在控制台创建一个新的控制台,
创建一个视图方法Index
然后调用index
发现,ViewData,ViewBag.Message ,//TempData都可以显示值
我们在这个控制台基础上重新创建一个视图 aoubts方法
调用
发现 只能出现TempData
并且,当你刷新页面,TempData 也会消失
1 viewdata 和viewbag 不可跨页面显示 而 tempdata 可以
2 tempdata 但是只能在一次http请求中有效果