C#基于ViewModel控制器显示ViewBag

时间:2016-04-17 12:03:54

标签: c# asp.net-mvc code-first

我有一个ViewModel,它显示购物车CartItems中的项目以及显示总费用的项目。我目前所拥有的if语句不起作用,为什么会这样,我该如何修复呢? CartItems是一个列表。我试图这样做,以便如果购物车中没有商品,则显示消息CART EMPTY

    ShoppingCartViewModel viewModel = new ShoppingCartViewModel
    {
        CartItems = cart.GetCartItems(),
        CartTotal = cart.GetTotal()
    };


if (viewModel.CartItems == null)
{
    ViewBag.CartStatus = "CART EMPTY";
}
else
{
    ViewBag.CartStatus = "Cart Has item, proceed";
}

1 个答案:

答案 0 :(得分:2)

如果你的方法总是返回一个空集合,你可能想要检查它而不是null

if (viewModel.CartItems.Any())
{
    ViewBag.CartStatus = "CART EMPTY";
}
else
{
    ViewBag.CartStatus = "Cart Has item, proceed";
}

ViewBag也很可怕。我看到它的每一次都在流眼。你有一个视图模型,为什么不在它上面有一个CartStatus tring属性并相应地更新它?