1、视图代码:
<h2>方式1</h2> name的值:@ViewBag.Name<br /> age的值:@ViewBag.Age <h2>方式2</h2> name2的值:@ViewData["Name1"]<br /> age2的值:@ViewData["Age1"] <h2>方式3</h2> name3的值:@ViewData["Name2"]<br /> age3的值:@ViewData["Age2"] <form action="/Perpon/Add" method="post"> <input type="text" name="Name" /> <input type="text" name="Age" /> <input type="submit" value="提交" /> </form> <form action="/Perpon/Add2" method="post"> <input type="text" name="Name" /> <input type="text" name="Age" /> <input type="submit" value="提交" /> </form> <form action="/Perpon/Add3" method="post"> <input type="text" name="Name" /> <input type="text" name="Age" /> <input type="submit" value="提交" /> </form>
2、控制器代码
[HttpPost] public ActionResult Add() { //第一种方式 ViewBag.Name = Request["Name"]; ViewBag.Age = Request["Age"]; return View(); } [HttpPost] public ActionResult Add2(FormCollection form) { //第二种方式 FormCollection ViewData["Name1"] = Request.Form["Name"]; ViewData["Age1"] = form["Age"]; return View("Add"); } [HttpPost] public ActionResult Add3(Perpon perpon) { //使用Model类 提交 ViewBag.Name2 = perpon.Name; ViewBag.Age2 = perpon.Age;
ViewBag.Other = Form["Other"]; return View("Add"); }
3、Perpon类(使用Model类 提交)
public class Perpon { public string Name { get; set; } public int Age { get; set; } }
4、注意
一、标记为httpPost请求
二、第一种方式,普通的接收方式
三、第二种方式,参数为FormCollection类型,表示是获取提交保单所有的数据
四、第三种方式是使用一个类来接收数据,同样也要标记HttpPost,这里是MVC自动把表单中名称跟Person类中同名的属性复制,注意必须:前台提交的input标签中的text元素名是name和Person类的属性名称相同。