假设我在[NonAction]控制器事件中,并希望重定向到主页?最简单的方法是什么?
[NonAction]
private ShoppingCartModel PrepareShoppingCartModel(ShoppingCartModel model,
IList<ShoppingCartItem> cart)
{
if (cart == null)
throw new ArgumentNullException("cart");
if (model == null)
throw new ArgumentNullException("model");
if (cart.Count == 0)
return model;
...bla bla bla (lots of code)
}
现在在第3行,如果Cart.Count if = 0,而不是返回空模型,而不是将视图显示为空,我宁愿重定向到主页。
我不能使用return RedirectToAction()导致编译器给我以下错误:
无法隐式转换类型'System.Web.Mvc.RedirectToRouteResult' 到'Web.Models.ShoppingCart.ShoppingCartModel'
问题:
那么退出[NonAction] Controller程序的正确方法是什么?
答案 0 :(得分:0)
返回类型应为ActionResult ,应返回View(模型)而不是仅返回模型。您的代码应如下所示。
[NonAction]
private ActionResult PrepareShoppingCartModel(ShoppingCartModel model,
IList<ShoppingCartItem> cart)
{
if (cart == null)
throw new ArgumentNullException("cart");
if (model == null)
throw new ArgumentNullException("model");
if (cart.Count == 0)
return View(model);
...bla bla bla (lots of code)
}