Asp.net-Mvc-2

ASP.NET MVC 2 動態生成模型中的數據註釋

  • February 13, 2010

我正在創建一個 asp.net mvc 2 應用程序,根據使用者輸入動態生成我的視圖模型。簡單地說,使用者可以選擇他想在他的視圖中看到哪些欄位。

由於模板化助手嚴重依賴模型屬性和屬性(數據註釋),我需要在執行時以某種方式將屬性添加到視圖模型。不用說,這不是一項簡單的任務。

那麼,你們建議我在這種情況下做什麼?我無法靜態添加屬性,所以我應該繼續嘗試動態添加它們,即使工作量很大,還是應該嘗試使用不同的方法?

提前致謝!

費利佩

自定義模型綁定器只會在綁定部分為您提供幫助。它對模板化幫助程序或 ASP.NET MVC 的其他功能沒有幫助。

我建議通過從ModelMetadataProvider繼承並使用ModelMetadataProviders在 global.asax 中註冊您的提供程序來編寫自定義元數據提供程序。自定義元數據提供程序可以從任何地方獲取其元數據:CLR 屬性、XML 文件、數據庫或隨機數生成器。內置的數據註釋提供程序當然使用 CLR 屬性。

您可能想查看內置數據註釋元數據提供程序的原始碼,以查看如何實現提供程序的範例。您可以從CodePlex 站點下載 ASP.NET MVC 2 RC 2 原始碼。MVC Futures 項目中可能也有一個實現,但我不確定。

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