RedirectToAction不返回View

时间:2012-12-16 09:34:07

标签: asp.net-mvc

我正在尝试重定向到操作并获取新视图(新页面)但没有成功。在调试时,我到达控制器但没有获取视图(页面URL未更改)。

使用Fiddler我看到该页面返回正确的视图结果,但在浏览器中URL没有更改!

当购物车为空时,我想重定向到新页面,显示错误消息。

    [HttpPost]
    public RedirectToRouteResult PlaceOrder(DeliveryDetails deliveryDetails)
    {           
        if (UserCart.IsEmpty)
        {

            TempData["errorMsg"] = "Error: Cart is empty";
            return RedirectToAction("Index", "Error");
        }
        else
        {
             InsertOrder();
        }


     }

ErrorController:

   public ActionResult Index()
    {
        return View();
    }

ErrorController查看:

  @TempData["errorMsg"]

感谢。

2 个答案:

答案 0 :(得分:0)

使用ActionResult代替RedirectToRouteResult

[HttpPost]
public ActionResult PlaceOrder(DeliveryDetails deliveryDetails)
{           
   // .....
   return RedirectToAction("Index", "Error");
}

答案 1 :(得分:0)

然后我猜测UserCart.IsEmpty正在评估为false。你的错误索引路线是什么样的?此外,如果需要返回视图,最好从控制器操作返回基础ActionResult。据推测,PlaceOrder方法中有更多代码,因为它不能按原样编译