MVC контролирует, какие свойства отображаются с помощью DisplayFor? - PullRequest
0 голосов
/ 08 августа 2011

Я использую метод DisplayFor MVC, чтобы показать значение свойства.Однако, если это значение является еще одним Model-объектом, оно будет содержать свойство «ID» этого объекта.Мне это не нравится, и отображение внутреннего идентификатора базы данных не требуется в моем приложении.

Могу ли я (с помощью аннотаций или чего-то подобного) пометить это свойство как "не включенное" в процессе DisplayFor?

1 Ответ

3 голосов
/ 08 августа 2011

Возможно, вы не пользуетесь преимуществами того, что может DisplayFor:

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

, и скажем, что Property имеет тип User

Теперь вы можете создатьDisplayTemplate (~ / Views / Shared / DisplayTemplates / User.ascx) со строгой типизацией User и также с именем User.ascx.И поскольку Property является User, MVC свяжет это object с этим User DisplayTemplate.

, которое может выглядеть следующим образом:

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

Теперь выможете показать / скрыть все, что вы хотите от объекта вашего перехода к DisplayFor

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...