Asp.net-Mvc

在 MVC 3 中使用 AdditionalMetadata 的範例

  • October 18, 2019

在 asp.net MVC 3 中有一個新屬性允許我們將額外的元數據傳遞給我們的視圖,例如

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

問題是,在我看來,我如何真正利用這些資訊?我認為它可能會將數據呈現為 html 5 數據屬性,但事實並非如此。

一個簡單的例子將不勝感激。

根據文件

您可以使用 AdditionalMetadataAttribute 類來填充模型屬性的 ModelMetadata.AdditionalValues 字典。

當呈現產品視圖模型時,此元數據可用於任何顯示或編輯器模板。作為應用程序開發人員,您可以解釋元數據資訊。

所以讓我們在視圖中使用它:

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

模板中的範例:

Object optionlabelOverride;
ViewData.ModelMetadata.AdditionalValues.TryGetValue("OptionLabelText", out optionLabelOverride);

您正在讀取的變數必須是一個對象,然後您可以轉換它。您在模型中設置的所有內容都可以作為 ViewData 使用。

引用自:https://stackoverflow.com/questions/4715698