第一部分:控制器传递数据到视图
1控制器向视图传值的三种方式
ViewData \ ViewBag \ TempData
2.ViewData:存放键值对的数据。只能请求一次,那么请求结束以后,值会清空
3.ViewBag:Dynamic,只存在于编译时刻,不存在运行时刻。
4.TempData:
a.viewdata和viewbag只能在自己的操作方法对应的视图中访问,不能跨操作方法访问。
b.tempdata:存放在Session,可以跨操作方法访问,只能取一次。
5.因为ViewDataDictionary类型可以存贮任意数据,所以可以吧整个Model数据放入ViewData对象或者ViewBag对象中传递到View视图页
第二部分:视图传递数据到控制器
6.视图传递给控制器-》Request对象来完成数据的接收,原始,直观。
a.发送数据(视图)
<form action="/Fashion/save" method="post">
<table>
<tr><td>用户名:</td><td><input id="txtname" name="username" type="text" /></td></tr>
<tr><td>密码:</td><td><input id="txtpwd" name="pwd" type="password" /></td></tr>
<tr><td></td><td><input id="Submit1" type="submit" value="提交" /></td></tr>
</table>
</form>
b.接收(控制器)
fashionshoppingDBEntities db = new fashionshoppingDBEntities();
// GET: Fashion
public ActionResult Index()
{
ViewData["User"] = db.users.ToList();
return View();
}
[HttpGet]
public ActionResult Index2()
{
return View();
}
[HttpPost]
public ActionResult save()
{
string username = Request["username"].ToString();
string pwd = Request["pwd"];
ViewBag.Name = username;
ViewBag.Pwd = pwd;
return View();
}