005.控制器之间传递数据

原文链接:http://www.dotnetbips.com/articles/8e64d05b-ab2e-45f6-b7f5-b8a90168915e.aspx

1.前言

  最近因为公司的事情,自己给自己加工作量,也是希望自己能在工作中成长。看一篇介绍控制器之间如何传递数据,那就看看,希望能大家有帮助。

2.开始

  有时,我们会遇到这样的情况,需要从一个控制器传递数据到另一个控制器,以下是三种方法:

  a.通过URL查询字符串

  b.通过TempData

  c.通过URL路由传递

3.方式

  先看代码,代表要传递的数据

public class Room
    {
        public string Name { get; set; }
        public int Num { get; set; }
        public int Count { get; set; }
        public Room(string name, int num, int count)
        {
            this.Name = name;
            this.Num = num;
            this.Count = count;
        }
        public Room()
        { 
        
        }
    }

 

  在控制串的一个入口方法

public ActionResult Index()
        {
            Room room = new Room("三个1", 10086, 4);

            //URL接值
            //string url = string.Format("/Home/PassByUrl?name={0}&num={1}&count={2}", room.Name, room.Num, room.Count);
            //return Redirect(url);

            //TempData//.Room = room;
            //TempData["Room"] = room;
            //return RedirectToAction("PassByTempData");

            //路由
            return RedirectToAction("PassByRoute", room);
        }

 

  Url查询接值

1 public ActionResult PassByUrl()
2         {
3             Room room = new Room(Request["name"], int.Parse(Request["num"]), int.Parse(Request["count"]));
4             return View(room);
5         }

  TempData

public ActionResult PassByTempData()
        {
            Room room = TempData["Room"] as Room;
            return View(room);
        }

  路由,需要先配置路由

1 routes.MapRoute(
2                 name: "PassValue",
3                 url: "{controller}/{action}/{name}/{num}/{count}",
4                 defaults: new { controller="Home",action="PassByRoute"
5             });

  控制器代码如下:

public ActionResult PassByRoute(Room room)
        {
            return View(room);
        }

        public ActionResult PassByRoute()
        {
            Room room = new Room();
            UpdateModel(room);
            return View(room);
        }

三个中第一个显示。

posted on 2014-07-17 23:27  a2htray  阅读(299)  评论(0编辑  收藏  举报

导航