MVC控制哪些属性用DisplayFor显示



我使用MVC的DisplayFor方法来显示属性的值。但是,如果这个值是另一个Model-object,那么它将包含该对象的"ID"属性。我不喜欢那样,并且在我的应用程序中没有必要显示内部数据库ID。

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

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

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

假设Property的类型是User

现在你可以创建一个DisplayTemplate (~/Views/Shared/DisplayTemplates/User.ascx),它是强类型的User,也命名为User.ascx。由于PropertyUser, MVC将把这个object绑定到这个User DisplayTemplate

可以像这样:

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

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

相关内容

  • 没有找到相关文章

最新更新