我正在使用MVC的DisplayFor方法来显示属性的值。但是,如果此值是另一个Model对象,则它将包含该对象的“ID”属性。我不喜欢这样,在我的应用程序中显示内部数据库ID并不是必需的。
我可以(通过注释或类似的东西)在DisplayFor进程中将此属性标记为“未包含”吗?
答案 0 :(得分:3)
您可能没有利用DisplayFor
可以做的事情:
<%=Html.DisplayFor(m => m.Property) %>
让我们说Property
的类型为User
现在,您可以创建DisplayTemplate
(〜/ Views / Shared / DisplayTemplates / User.ascx),其强类型为User
,并且还命名为{{1} }。由于User.ascx
是Property
,因此MVC会将此User
绑定到此object
User
。
这可能是这样的:
DisplayTemplate
现在,您可以显示/隐藏您传递给<%@ Control Language="C#" Inherits="ViewUserControl<User>" %>
<h2><%=Model.Name %></h2>
<strong><%=Model.Email %></strong>