我正在使用 MVC 的 DisplayFor 方法来显示属性的值。然而,如果这个值是另一个模型对象,那么它将包括那个对象的“ID”属性。我不喜欢这样,并且在我的应用程序中不需要显示内部数据库 ID。
我可以(通过注释或类似的东西)在 DisplayFor 过程中将此属性标记为“不包括”吗?
我正在使用 MVC 的 DisplayFor 方法来显示属性的值。然而,如果这个值是另一个模型对象,那么它将包括那个对象的“ID”属性。我不喜欢这样,并且在我的应用程序中不需要显示内部数据库 ID。
我可以(通过注释或类似的东西)在 DisplayFor 过程中将此属性标记为“不包括”吗?
您可能没有利用DisplayFor
可以做的事情:
<%=Html.DisplayFor(m => m.Property) %>
假设这Property
是类型User
现在您可以创建一个DisplayTemplate
(~/Views/Shared/DisplayTemplates/User.ascx),它是强类型的User
,也命名为User.ascx
. 由于Property
is a User
,MVC 会将 this 绑定object
到 this User
DisplayTemplate
。
这可能看起来像这样:
<%@ Control Language="C#" Inherits="ViewUserControl<User>" %>
<h2><%=Model.Name %></h2>
<strong><%=Model.Email %></strong>
现在你可以显示/隐藏你想要传递给的对象的任何内容DisplayFor