Tôi có một ứng dụng ASP.NET MVC hiển thị danh sách các mục. Theo quan điểm của trang tôi vòng lặp của tôi so với các mặt hàng và làm cho mỗi mục với xem một phần, như vậy:Html.HiddenFor ràng buộc với phần tử sai
@foreach(var item in Model.items)
{
<li>
@Html.Partial("ItemView", item)
</li>
}
Trong giao diện mục, tôi quấn mỗi mục với một hình thức mà có một nút 'Delete', như thế này:
@using(Html.BeginForm(...))
{
@Html.HiddenFor(m=>m.Id)
<label>@Model.Name (@Model.Id)</label>
<input type="submit" value="Delete"/>
}
Các mục được hiển thị chính xác, trang kết quả có danh sách đẹp tất cả các mục có tên và ID thích hợp được hiển thị.
CHỈNH SỬA: Điều tương tự cũng xảy ra với @Hidden, rõ ràng, trái ngược với những gì tôi đã viết trước đây.
Ngoài ra, điều này chỉ xảy ra lần thứ hai biểu mẫu được hiển thị (nghĩa là sau khi một trong các nút Xóa được nhấp), lần đầu tiên mọi thứ hoạt động bình thường. Các phương thức hành động của tôi trông giống như sau:
public ActionResult AllItems()
{
var model = new AllItemsModel();
return PartialView(model);
}
public ActionResult Delete(DeleteModel model)
{
.... Perform the delete ...
return PartialView("AllItems", new AllItemsModel());
}
Tại sao điều này xảy ra?
Chà, quan sát tuyệt vời. Tôi sẽ kiểm tra, tôi nghĩ rằng tôi không có. – zmbq
Đề xuất đầu tiên của bạn không đúng, nhưng đề xuất thứ hai của bạn có vẻ đầy hứa hẹn. Quá tệ tôi không thể +1 hai lần ... tôi sẽ kiểm tra. – zmbq
Vâng, đó là chính xác nó. Cảm ơn rất nhiều! – zmbq