MVC控制使用DisplayFor显示哪些属性?

时间:2011-08-08 02:19:28

标签: asp.net-mvc displayfor

我正在使用MVC的DisplayFor方法来显示属性的值。但是,如果此值是另一个Model对象,则它将包含该对象的“ID”属性。我不喜欢这样,在我的应用程序中显示内部数据库ID并不是必需的。

我可以(通过注释或类似的东西)在DisplayFor进程中将此属性标记为“未包含”吗?

1 个答案:

答案 0 :(得分:3)

您可能没有利用DisplayFor可以做的事情:

<%=Html.DisplayFor(m => m.Property) %>

让我们说Property的类型为User

现在,您可以创建DisplayTemplate (〜/ Views / Shared / DisplayTemplates / User.ascx),其强类型为User,并且还命名为{{1} }。由于User.ascxProperty,因此MVC会将此User绑定到此object User

这可能是这样的:

DisplayTemplate

现在,您可以显示/隐藏您传递给<%@ Control Language="C#" Inherits="ViewUserControl<User>" %> <h2><%=Model.Name %></h2> <strong><%=Model.Email %></strong>

的对象的任何内容