2010-12-23 43 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

相关问题