MVC 数据传递
public class HomeController : Controller { // GET: Home public ActionResult Index() //控制器名Home下默认的一个方法 { return View();//返回视图 } [HttpPost]//表单提交是post请求,定义该方法调用的类型位只能post请求 public ActionResult Update() { ViewBag.test = Request.Form["Title"];//获取表单提交的数据 return View(); } [HttpGet] //[HttpPost]出错,不能同时提交多个方法 ; 错误提示 方法不明确 ;使用HttpGet表单提交方式必须HttpGet public ActionResult Update(FormCollection form) //有参和无参函数可同名 { ViewBag.test1 = form["Title"]; return View(); } public ActionResult Update(string Title) //如果方法的参数名与表单元素的name属性名称一致就会自动填充 { ViewBag.test2 = Title; //参数名与表单name名相同 return View(); } public ActionResult Update(Book bk) //定义一个Book对象 { ViewBag.test3 = bk.Title; //对象下的字段名和表单Name一致 才能接受对象 return View(); } //Action方法返回值1.content 2.json 3.RedirectToAction,RedirectToRoute 4.View 5.File //动作名称选择器 [ActionName("OtherName")] //修改原有Update名字为OtherName;原有的Update视图不起作用 public ActionResult Update(string bk,int a) { return View(); } //动作方法选择器 [NonAction] //表示该方法不在被选择执行 public ActionResult test111() { return View(); } //[HttpGet]和[HttpPost] 表示只会收到get或post请求 }
//从动作方法传递给视图 //将一个对象作为view()方法的参数传递给视图 public ActionResult A() { DateTime date = DateTime.Now; return View(date); //视图代码 日期:@Model } //使用ViewBag传递数据 public ActionResult B() { DateTime date = DateTime.Now; ViewBag.Date = date; return View(); //视图代码 日期:@ViewBag.Date } //使用Viewdata传递数据 public ActionResult C() { DateTime date = DateTime.Now; ViewData["Data"] = date; return View(); //视图代码 日期:@ViewData["Data"] }