Tôi có một viewmodel có một trường int StateID
và một lĩnh vực string StateName
như vậy:Hiển thị các lĩnh vực khác nhau trong EditorForModel vs chế độ DisplayForModel trong MVC2
public class DepartmentViewModel : BaseViewModel, IModelWithId
{
// only show in edit mode
public int StateId { get; set; }
// only show in display mode
public string StateName { get; set; }
}
Tôi có một chỉ đọc xem có sử dụng DisplayForModel
và một cái nhìn cập nhật sử dụng EditorForModel
. Tôi muốn chế độ xem DisplayForModel
để hiển thị thuộc tính StateName
và chế độ xem EditorForModel
sử dụng thuộc tính StateID
(Tôi thực sự đang hiển thị danh sách thả xuống dựa trên điều này).
Tôi chưa thể tìm ra cách trang trí các thuộc tính chế độ xem của mình để tạo hành vi này.
Làm thế nào để bạn thực hiện các tùy chỉnh DataAnnotationsModelMetadataProvider? Cảm ơn. – UpTheCreek
@UpTheCreek - Thừa kế từ DataAnnotationsModelMetadataProvider. http://weblogs.asp.net/seanmcalinden/archive/2010/06/11/custom-asp-net-mvc-2-modelmetadataprovider-for-using-custom-view-model-attributes.aspx – CodeGrue
Cảm ơn bạn đã chia sẻ dung dịch. Nó sẽ hữu ích mặc dù nếu bạn có thể cung cấp chi tiết về nơi đoạn mã thứ hai cần phải đi (tôi giả sử chúng ta cần ghi đè lên CreateMetadata và đặt nó trong đó?) Và cũng làm thế nào để đăng ký DataAnnotationsModelMetadataProvider tùy chỉnh của chúng tôi khi được tạo. – mutex