从控制器重定向到视图

时间:2014-06-10 15:46:58

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

您好我的应用程序中有两个控制器和两个视图。

  1. Home Controller&索引视图
  2. Susbcription Controller&索引视图。
  3. 我在订阅控制器中有一个保存方法。我想在保存完成后调用Home Controller / Index View。当我执行以下操作时,我发现页面未找到错误。

    返回重定向(“主页/索引”);

    OR

    返回视图(“主页/索引”);

    有人可以告诉我为什么视图没有被调用?

    谢谢和问候 Ranjit Menon

2 个答案:

答案 0 :(得分:3)

您必须使用RedirectToAction,因为您的操作主要是ActionResult

return RedirectToAction("Index","Home");

或者如果你想在没有动作的情况下简单地返回视图,那么:

return View("~/Views/Home/Index.cshtml");

查看更多details here

注意:

第二个不推荐你应该使用第一个重定向到主页/索引,你不应该在asp.net mvc中使用Rediect你应该使用RedirectToAction < / p>

答案 1 :(得分:0)

为了补充Ehsan的答案,我想指出如果你将来需要这样做,如何传递参数:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult PaymentBillMe(string pledgeAmt, string month, string radioBtn, string btn) 
    { 
      return RedirectToAction("PaymentConfirm", new
                        {
                            paymentSelection = radioBtn,
                            paymentAmt = pledgeAmt,
                            selectedMonth = month
                        });
    }

    [HttpGet]
    public ActionResult PaymentConfirm(string paymentSelection, string paymentAmt, string selectedMonth)
    {
     //Do something with parameters...
     return View();
    }

在这里,我将单选按钮选择,承诺金额和所选月份传递给付款确认方法,对这些参数执行某些操作,然后返回该视图。