0

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

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

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

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

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


     }

错误控制器:

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

错误控制器视图:

  @TempData["errorMsg"]

谢谢。

4

2 回答 2

0

使用ActionResult代替 RedirectToRouteResult

[HttpPost]
public ActionResult PlaceOrder(DeliveryDetails deliveryDetails)
{           
   // .....
   return RedirectToAction("Index", "Error");
}
于 2012-12-16T12:08:57.917 回答
0

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

于 2012-12-16T12:12:09.297 回答