2011-02-06 18 views
0

這是一個簡單的問題,但我無法在線找到答案。我有一個類,看起來像這樣:ASP.Net MVC 2在爲強類型視圖自動生成視圖內容時省略屬性

public class EquipmentItem : Item 
{ 
    public Status Status { get; set; } 
    public string Description { get; set; } 
} 

當我創建了一個強類型的視圖,並提供這個類,要求ASP.Net MVC自動進行填充,以期「創造」的內容它忽略了所有的Status類中的屬性。有沒有辦法讓我告訴ASP.Net MVC也爲該類中的屬性提供HTML輸入字段?

感謝

+0

如果您熟悉T4模板,你可以使用這個層次結構`CodeTemplates(文件夾)創建一個自定義代碼模板 - > AddView(文件夾) - > Create.tt(T4文件)``那麼你可能會創建一個自定義函數來替換`FilterProperties(mvcHost.ViewDataType,properties);` – 2011-02-06 13:50:46

+0

這裏是一個例子 - > http://goo.gl/71mJm – 2011-02-06 13:57:09

回答

2

你也可以做

Html.EditorFor(m=>m.Status); 
0

我一直把它當你在你的視圖模型這樣的屬性,你應該創建一個局部視圖的標誌。

在任何情況下,創建局部視圖將允許您支持Status類的屬性,因爲它將強制鍵入狀態而不是EquipmentItem。

另一種方法是使用映射(例如,AutoMapper),並將您的領域模型類映射到您的視圖模型類。視圖模型類將具有MVC爲您搭建的簡單屬性。