一、数据传递
(1)session和TempDatasession
全局变量,能够将值从一个动做传递到另外一个动做,也能够从控制层传递到视图层。post
TempData取一遍值后自动销毁。this
session使用:spa
//控制器中赋值 Session["aaa"] = "这是一句话"; //视图层取值 @Session["aaa"]
TempData使用:code
//控制器中赋值 TempData["aaa"] = "这又是一句话"; //视图层取值 @TempData["aaa"]
(2)ViewData和ViewBag
能够将值从控制层传递到视图层,ViewData出现较早,如今通常使用ViewBag。orm
ViewData使用:blog
//控制器中赋值 ViewData["aaa"] = u; //视图层取值 Users u=ViewData["aaa"];
ViewBag使用:get
//控制器中赋值 ViewBag.aaa = u; //视图层取值 Users u=ViewBag.aaa as Users ;
(3)强类型input
将值从控制层传递到视图层,优势是:数据稳定,速度快。it
//控制器赋值 return View(u); //视图层取值 @model Users //声明,model中m小写,后面是数据类型 @Model.UserName//取值,Model中M大写
二、多表单
一个表单中有好几个提交到不一样的动做时使用JS
//form表单 <form method="post"> <input type="button" id="btn1" value="数据提交1" /> <input type="button" id="btn2" value="数据提交2" /> </form> //JS document.getElementById("btn1").onclick = function () { this.form.setAttribute("action", "@Url.Action("Actionname","控制器名字")"); this.form.submit();//提交 };