分类:
MVC
public class NewsController : Controller { // // GET: /News/ public ActionResult Index() { List<string> lis = new List<string>() { "张三", "李四", "王五", "赵东升", "刘恺威" }; // ViewData ViewBag 这两种都是差不多的不过方式不一样 ViewData是 ViewData["自定义名字"] = 数据; ViewBag是ViewBag.自定义名字=数据 //1ViewData传参和ViewBag传参 // ViewData["list"] = lis; //ViewBag.list = lis; List<UserInfo> info = new List<UserInfo>() { new UserInfo(){name="李清照",age=24,Addess="宋"}, new UserInfo(){name="黄月英",age=26,Addess="三国"}, new UserInfo(){name="黄忠",age=25,Addess="三国"}, new UserInfo(){name="黄蓉",age=27,Addess="射雕"}, new UserInfo(){name="李清照",age=25,Addess="宋"}, }; ViewData["info"] = info; return View(); } //view传参 public ActionResult Index1() { List<string> lis = new List<string>() { "张三", "李四", "王五", "赵东升", "刘恺威" }; List<UserInfo> info = new List<UserInfo>() { new UserInfo(){name="李清照",age=24,Addess="宋"}, new UserInfo(){name="黄月英",age=26,Addess="三国"}, new UserInfo(){name="黄忠",age=25,Addess="三国"}, new UserInfo(){name="黄蓉",age=27,Addess="射雕"}, new UserInfo(){name="李清照",age=25,Addess="宋"}, }; return View(info); } //前台传后台传参(不同控制器) //1可以直接在方法里面的括号中 定义 不过名称必须和接收的name=“名称”相同 public ActionResult Index2(string username) { //2直接用request["name的名称"] string values = Request["username"]; return View(); } // public ActionResult Index3(string username) { //相当于session但只能使用一次被使用后就不会有值 但在一个页面如果没有刷新那可以一次性多用 但刷新后就不会有值其他视图也不会有 TempData["age"] = "56"; //通过直接跳转到index4页面本页面的东西不会运行所以目标视图就有 TempData["age"]的值 return RedirectToAction("Index4"); //return View(); } public ActionResult Index4(string username) { return View(TempData["age"]); } public ActionResult Index5(string username) { //匿名对象跨页面传参 //return RedirectToAction("Index6", new { username = "aa", addis = "四川" }); return RedirectToAction("Index6", new UserInfo() { name = "李清照", age = 25, Addess = "宋" }); } //对象跨页面传参接收 //如果是匿名对象 那就直接在相应的视图如Index6(string username,string addis)相应的写出来就接收到了 //如果有对象那就直接 对象名 自己定义名称 如 Index6(UserInfo aa) public ActionResult Index6(UserInfo aa) { return View(TempData["age"]); } }
评价