如何使用MVC 4将变量从控制器传递到另一个控制器

时间:2015-03-04 11:01:17

标签: c# asp.net-mvc asp.net-mvc-4

我有一个执行某些条件的视图,如果一个特定条件是X,它必须重定向到另一个页面并显示带有消息的弹出窗口,所以我在一个变量中考虑执行条件的结果id控制器(controller1.cs)然后在另一个控制器(Controller2.cs)中使用它进行下一步操作。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

不要使用Sessions(您最终会将Session用作一种Singleton模式,其中包含您永远不会再使用的数据)。你想要RedirectToAction像这样:

public ActionResult MyAction(string myResult)
        {
            if (condition)
            {
                return RedirectToAction("OtherAction", "Controller2", myResult);
            }
            else
            {
                return View();
            }
        }

您可以选择对要传递的对象使用其他控制器/操作。

答案 1 :(得分:0)

您可以尝试使用TempData - > http://www.devcurry.com/2012/05/what-is-aspnet-mvc-tempdata.html或在ASP.Net-MVC中的控制器之间传递信息 - > Passing Information Between Controllers in ASP.Net-MVC