在我的购物车中,我已通过Session传递数据。在这里我遇到了一个问题,购物车中还有2个其他字段。如何将其添加到模型中,因为模型未绑定到该视图。
public class CartTotal
{
public decimal SubTotal { get; set; }
public decimal DeliveryCharges { get; set; }
//Some properties here
public List<Items> items { get; } = new List<Items>();
}
public class Items
{
public int ItemId { get; set; }
public string ItemCode { get; set; }
public string ItemName { get; set; }
public string PersonalizedName { get; set; }
public string Size { get; set; }
}
在进入购物车之前,我已经使用ItemsHolder添加了物品。
public CartTotal ItemsHolder
{
get
{
object ItemsSession = Session["ItemSession"] as CartTotal;
if (ItemsSession == null)
{
ItemsSession = new CartTotal();
Session["ItemSession"] = ItemsSession;
}
return (CartTotal)ItemsSession;
}
}
我在项目添加部分添加了以下项目,
public ActionResult AddNewItems(int ItemId,string Dir)
{
ItemsHolder.items.Add(new Items() {
ItemId = items.ItemId,
ItemName = items.ItemName,
ItemPrice = items.ItemPrice,
ImageUrl = items.ImageUrl,
ItemCode = items.ItemCode
});
return RedirectToAction("Index", "Home");
}
现在的问题是我已经在购物车中使用了ItemSession,并且在Items dto中有2个名为PersonalizedName和Size的属性,这些字段在购物车部分中填充了它,我需要将这些东西添加到ItemHolder中。这样做吗?
@{
var list = Session["ItemSession"] as XYZ.Domain.CartTotal;
}
@using (Html.BeginForm("CartFinalize", "Home"))
{
@foreach (var item in list.items)
{
// Some Codes here
<td class="cart-itm">
<input type="text" class="form-control personalizedName" placeholder="Personalized Name">
</td>
<td class="cart-itm">
<input type="text" class="form-control size" placeholder="Size">
</td>
}
}
我需要将这2个项目添加到购物车中的“特定”项目。