Tôi đang cố tạo một HtmlHelper để tạo các trường biểu mẫu tương thích với Bootstrap. Mục tiêu đầu tiên của tôi là tạo một HtmlHelper để tạo div xung quanh:Lấy tên thuộc tính đầy đủ bằng cách sử dụng ModelMetadata
<div class="control-group"> ... </div>
Làm theo lời khuyên tuyệt vời ở đây và ở đây tôi đã cố gắng làm cho nó hoạt động tương đối nhanh. Nhưng nó không phải lúc nào cũng hiệu quả.
Tôi có một ViewModel với thuộc tính phức tạp, vì vậy trong biểu mẫu của tôi, tôi truy cập vào trường m=>m.Complex.Element
. Trong helper của tôi, tôi kiểm tra phần tử để xác nhận lỗi. Tôi sử dụng ModelMetadata.FromLambdaExpression(expression, html.ViewData)
. Siêu dữ liệu tôi quay lại có tên thuộc tính Element
và không phải là Complex.Element
.
Khi tôi kiểm tra ModelState cho thuộc tính này, tôi không thể tìm thấy nó, bởi vì ModelState giữ nguyên tên - Complex.Element
.
Tôi có thể tìm kiếm các kết quả khớp một phần, hy vọng không có phần tử nào khác, nhưng điều đó có vẻ như một lỗi khó chịu đang chờ xảy ra. Làm cách nào tôi có thể nhận được tên thuộc tính đầy đủ từ biểu thức?
+1. Tôi cũng có cùng một vấn đề. Câu trả lời của bạn đã giúp tôi :) –