В моей корзине покупок я передал данные через сессию. Здесь я столкнулся с некоторой проблемой. В корзине покупок есть 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.
ItemHolder
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 в корзине и в элементе данных. У него есть 2 свойства, называемые PersonalizedName и Size. Эти поля заполнены в разделе корзины. И мне нужно добавить эти вещи в ItemHolder. Как мне это сделать? сделать это?
мой _cart частичный вид
@{
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 предмета в определенный предмет в корзине.