新建xxController继承自:System.Web.Mvc.Controller
一个Controller可以包含多个Action. 每一个Action都是一个方法, 返回一个ActionResult实例
一个Controller对应一个xxController.cs控制文件,对应在View中有一个xx文件夹,用于存放xxController下Action对应的View文件。一般情况一个Action对应一个View页面
Action方法输出返回值:
1.string:直接 返回响应报文字符串;
2.ActionResult:返回控制器结果对象
3.JsonResult:返回 Json 字符串
控制器将处理后的数据“传”给视图的方式
ViewData/ViewBag/TempData/Model
public ActionResult Index()
{
Employee data = new Employee();
data.Name = "张三";
data.Age = 26;
ViewBag.UserName = "白子画";
ViewData["UserName"] = "花千骨";
TempData["UserName"] = "杀阡陌";//临时数据
return View(data); //这行代码其实就相当于ViewData.Model=model
}
输出结果为:
Model其实就是ViewData.Model
第一个ViewBag.UserName 将被 ViewData["UserName"] 覆盖,最后的结果不会输出“白子画”
因为ViewData和ViewBag本质上都是【ViewDataDictionary】类型,并且两者之间的数据共享,只不过提供了不同的语法操作方式而已
Controller传数据到View
给Controller中的ViewData/ViewBag/TempData/赋值了,或者把对象传给了View方法
View和Controller中都有ViewData/ViewBag/TempData这几个对象,在给Controller中这些对象赋值后,Controller会把这些值赋值給View中对应的这几个对象