MVC在重定向上传递对象

时间:2014-09-19 07:28:01

标签: c# asp.net-mvc

我遗漏了一些非常明显的东西。我有两个不同的解决方案,其中相同的代码表现不同。基本上我正在尝试将我在一个应用程序中的代码重新创建为重写相同的应用程序。

它可能是十几种东西中的任何一种,所以只是寻找一些想法。

基本上在两个应用程序中,当我在帖子上调用AddToCart方法时,我得到一个填充的购物车,然后重定向到Index方法。在一个应用程序中,当我到达新应用程序中的Index方法时,仍然会填充购物车,传入的购物车为空。

代码

public ViewResult Index(Cart cart, string returnUrl)
{
    return View(new CartIndexViewModel
    {
        ReturnUrl = returnUrl,
        Cart = cart
    });
}

[HttpPost]
public ActionResult AddToCart(Cart cart, ShoppingCartProductItem product, string returnUrl)
{
    if (product != null)
    {
        cart.AddItem(product);
    }
    return RedirectToAction("Index", new { returnUrl });
}

1 个答案:

答案 0 :(得分:2)

当然会传递null,因为您在重定向时没有将cart传递给Index操作:

return RedirectToAction("Index", new { cart=cart, returnUrl= returnUrl });

或:

return RedirectToAction("Index", new { cart,returnUrl });