후 모델에서 새 값을 수락하지 나는 현재 다음과 같은 코드를 가지고 : 나는 소스를 볼 수 있도록 할 때, CartID가 null의 경우 페이지가 처음로드ASP.NET MVC : 숨겨진 양식 필드 내보기에서 포스트
<%= Html.Hidden("Cart.CartID", Model.Cart.CartID) %>
을 페이지에서 값은 ""로 설정됩니다. 페이지에 양식을 제출하면 (제품 추가) 컨트롤러 코드가 새로운 장바구니를 만들고 강력한 형식의 뷰 모델을 사용하여 CartID가있는보기로 카트를 다시 전달합니다. 문제는 숨겨진 양식 필드의 값이 새 값으로 업데이트되지 않는다는 것입니다.
저는 실제로 CartID가있는 Cart 인스턴스를 게시물에 다시 전달하고 있음을 확인했습니다.
다음은 컨트롤러 코드의 일부입니다. 컨트롤러를 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);
}
이전에이 문제가 발생 했습니까? 어떻게 고칠까요?
감사합니다.
컨트롤러 중 일부를 볼 수 있습니까? –
컨트롤러 코드로 게시물을 업데이트했습니다. – Mike
'GenericViewState'는 어떻게 생겼습니까? –