2010-12-23 76 views
0

考慮以下代碼:有沒有辦法選擇DisplayFor呈現的內容?

<%: Html.DisplayFor(model => model.SomeBoolean)%> 

<%: Html.DisplayFor(model => model.SomeInt)%> 

第一個是綁定到一個布爾值,這將使得禁用下拉列表。 第二個綁定到一個int,這將只是將結果呈現爲文本。

我想int也呈現下拉列表。

我有什麼選擇?

非常感謝。

回答

1

MVC有一組默認的編輯器和顯示模板。您可以通過在控制器的視圖文件夾中創建DisplayTemplates文件夾來創建自己的文件夾,也可以通過將其放在共享文件夾中的DisplayTemplates文件夾中來定義更全局的模板。

對於系統類型,使用實際的類型名稱,而不是語言特定的快捷方式(即用於int,呼籲剃刀模板Int32.ascxInt32.cshtml

您還可以通過或者使用過載指定的模板(我知道這對EditorFor是可能的,我猜它也適用於DisplayFor),或者如果你有一個特定的屬性,你想使用不同的模板,你可以使用數據註釋。複雜的類型。

+0

w我應該使用數據註釋來做到這一點嗎?我知道有[DisplayFormat],但我怎麼能得到這個返回一個下拉列表? – 4imble 2010-12-23 13:22:49

相關問題