Tôi có một lớp viewmodel chứa một vài thuộc tính. Về cơ bản, bản ghi hiện tại (người dùng đang chỉnh sửa) và danh sách các tùy chọn (được sử dụng để điền danh sách thả xuống bằng DropDownListFor).MVC DropDownListFor - Tôi có phải điền lại các tùy chọn sau khi xác nhận không thành công không?
Sau khi biểu mẫu được gửi, nếu modelstate không hợp lệ, tôi quay lại chế độ xem. Tôi hiểu rằng biểu mẫu được điền bằng cách sử dụng đầu vào 'bị từ chối' từ ModelState["name"].Value.AttemptedValue
, nhưng tôi không chắc chắn phải làm gì về danh sách giá trị cho danh sách thả xuống.
Nếu tôi không làm gì, khi xác thực không thành công và trở về trang, tôi nhận được tham chiếu 'đối tượng không được đặt thành lỗi của đối tượng' vì thuộc tính danh sách của mô hình chế độ xem là rỗng. Tôi biết rằng nó là null vì nó không bị ràng buộc từ bài đăng biểu mẫu, vì vậy tôi có thể repopulate nó từ cơ sở dữ liệu trước khi trở về xem.
Đó có phải là cách chính xác để thực hiện hay không, hoặc tôi thiếu một cách rõ ràng hơn để làm cho giá trị thả xuống vẫn tồn tại?
Cảm ơn. Đó là khá nhiều kỹ thuật tôi đã sử dụng. Chỉ cần làm việc một mình trên một dự án bằng cách sử dụng một công nghệ mới, nó là tốt để kiểm tra chống lại một ý kiến thứ hai! – Gavin