0

我正在使用 MVC 的 DisplayFor 方法来显示属性的值。然而,如果这个值是另一个模型对象,那么它将包括那个对象的“ID”属性。我不喜欢这样,并且在我的应用程序中不需要显示内部数据库 ID。

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

4

1 回答 1

3

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

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

假设这Property是类型User

现在您可以创建一个DisplayTemplate (~/Views/Shared/DisplayTemplates/User.ascx),它是强类型的User,也命名为User.ascx. 由于Propertyis a User,MVC 会将 this 绑定object到 this User DisplayTemplate

这可能看起来像这样:

<%@ Control Language="C#" Inherits="ViewUserControl<User>" %>
<h2><%=Model.Name %></h2>
<strong><%=Model.Email %></strong>

现在你可以显示/隐藏你想要传递给的对象的任何内容DisplayFor

于 2011-08-08T02:22:42.217 回答