На мой взгляд, у меня есть следующий код:
<%= Html.Hidden("Cart.CartID", Model.Cart.CartID) %>
Когда страница первоначально загружается, CartID имеет значение NULL, поэтому при просмотре источника на странице устанавливается значение «». Когда я отправляю форму на странице (добавление товара), код контроллера создаст новую корзину и, используя строго типизированную модель просмотра, я передаю корзину обратно в представление с CartID. Проблема в том, что значение для скрытого поля формы не обновляется с новым значением.
Я подтвердил, что действительно возвращаю экземпляр Cart с сообщением CartID в сообщении.
Вот часть кода контроллера. Контроллер называется Orders, а представление называется Create:
[AcceptVerbs(HttpVerbs.Post)]
[MultiButton(MatchFormKey = "action", MatchFormValue = "AddProduct")]
public ActionResult Create(Product product, Cart cart, Customer customer)
{
if (cart.CartID == null)
{
Guid _cartIdentifier;
_cartIdentifier = Guid.NewGuid();
var _newCart = new Cart() { CartIdentifier = _cartIdentifier, CartDate = DateTime.Now };
cart = _cartRepository.Add(_newCart);
}
var _cartItem = new CartItem() { CartID = cart.CartID, ProductID = Convert.ToInt32(product.ProductID) };
_cartRepository.Add(_cartItem);
var _cartItems = _cartRepository.GetCartItems(new CartItem() { CartID = cart.CartID });
var viewState = new GenericViewState
{
Cart = cart,
CartItems = _cartItems
};
return View(viewState);
}
Кто-нибудь сталкивался с этой проблемой раньше? Как мне исправить это?
Спасибо!