2011-09-13 30 views
5

Tôi đã có một hình thức có chứa một danh sách dài biến của textbox, render sử dụng một mẫu tương tự như sau ..mô hình MVC/Razor ràng buộc bộ sưu tập khi một phần tử là mất tích

@Html.TextBox("items[" + itemIndex + "].Title", someValue) 

Vì vậy, trận chung kết render HTML trông giống như thế này ...

<input id="items_0__Amount" type="text" value="Apple" name="items[0].Title"> 
<input id="items_1__Amount" type="text" value="Banana" name="items[1].Title"> 
<input id="items_2__Amount" type="text" value="Orange" name="items[2].Title"> 

Khi gửi biểu mẫu này liên kết với mô hình của tôi tốt. Tuy nhiên, tôi có một nút xóa sử dụng Javascript để xóa một hoặc nhiều hàng khỏi biểu mẫu. Vấn đề là, nếu bạn xóa nói dòng giữa, HTML trông giống như thế này ...

<input id="items_0__Amount" type="text" value="Apple" name="items[0].Title"> 
<input id="items_2__Amount" type="text" value="Orange" name="items[2].Title"> 

... và các chỉ mục không còn tiếp giáp. Điều này dường như gây nhầm lẫn cho MVC và chất kết dính mô hình của tôi chỉ được truyền qua hàng đầu tiên, không phải là hàng cuối cùng. Tôi đã làm điều gì đó sai, hoặc không MVC chỉ thất bại nếu chỉ số trong danh sách không tiếp giáp? Giải pháp tốt nhất cho vấn đề này là gì?

Tôi muốn tránh sử dụng JS để lập chỉ mục lại mọi thứ nếu có thể.

Cảm ơn!

Trả lời

Các vấn đề liên quan