2011-01-17 11 views
8

Trong asp.net MVC 3 có một thuộc tính mới cho phép chúng tôi chuyển thêm dữ liệu Meta vào các chế độ xem của chúng tôi, ví dụ:Ví dụ về việc sử dụng AdditionalMetadata trong MVC 3

[Required] 
    [AdditionalMetadata("Tooltip", "The title of the item")] 
    public string Title { get; set; } 

Câu hỏi đặt ra là, làm cách nào để sử dụng thông tin này theo quan điểm của tôi? Tôi nghĩ rằng có lẽ nó sẽ kết xuất dữ liệu dưới dạng thuộc tính dữ liệu html 5 nhưng đây không phải là trường hợp.

Một ví dụ đơn giản sẽ được đánh giá cao.

+0

AFAIK, bạn có trách nhiệm lục lọi [ModelMetadata.AdditionalValues] (http://msdn.microsoft.com/en-us /library/system.web.mvc.modelmetadata.additionalvalues.aspx) trong các mẫu của bạn để sử dụng điều này. Dunno nếu có bất kỳ "mặc định" chìa khóa mà đi vào hữu ích ra khỏi hộp. – Will

Trả lời

17

Theo documentation:

Bạn có thể sử dụng lớp AdditionalMetadataAttribute để cư ModelMetadata.AdditionalValues ​​ từ điển cho một tài sản mô hình.

...

siêu dữ liệu này được tạo sẵn cho bất kỳ hiển thị hoặc biên tập mẫu khi một mô hình xem sản phẩm được trả lại. Đó là tùy thuộc vào bạn với tư cách là nhà phát triển ứng dụng để giải thích thông tin siêu dữ liệu.

Vì vậy, hãy tận dụng nó trong giao diện:

<h2> 
    @ModelMetadata.FromLambdaExpression(x => x.Title, ViewData).AdditionalValues["Tooltip"] 
</h2> 
+0

Bạn cũng có thể cho chúng tôi biết nó hoạt động trong Mẫu biên tập không? - ta –

+0

tôi một lần nữa, xin lỗi, ViewData.ModelMetadata.AdditionalValues ​​["Tooltip"] –