MVC 3: Где я могу найти шаблоны по умолчанию для DisplayForModel и EditorForModel? - PullRequest
5 голосов
/ 06 декабря 2011

Где найти шаблоны по умолчанию для DisplayForModel и EditorForModel?

Ответы [ 2 ]

6 голосов
/ 07 декабря 2011

Найдены шаблоны по умолчанию здесь:

ASP.NET MVC 3 Futures / http://aspnet.codeplex.com/releases/view/58781

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>
<script runat="server">
    bool ShouldShow(ModelMetadata metadata) {
        return metadata.ShowForDisplay
            && metadata.ModelType != typeof(System.Data.EntityState)
            && !metadata.IsComplexType
            && !ViewData.TemplateInfo.Visited(metadata);
    }
</script>
<% if (Model == null) { %>
    <%= ViewData.ModelMetadata.NullDisplayText %>
<% } else if (ViewData.TemplateInfo.TemplateDepth > 1) { %>
    <%= ViewData.ModelMetadata.SimpleDisplayText %>
<% } else { %>
    <% foreach (var prop in ViewData.ModelMetadata.Properties.Where(pm => ShouldShow(pm))) { %>
        <% if (prop.HideSurroundingHtml) { %>
            <%= Html.Display(prop.PropertyName) %>
        <% } else { %>
            <% if (!String.IsNullOrEmpty(prop.GetDisplayName())) { %>
                <div class="display-label"><%= prop.GetDisplayName() %></div>
            <% } %>
            <div class="display-field"><%= Html.Display(prop.PropertyName) %></div>
        <% } %>
    <% } %>
<% } %>
3 голосов
/ 06 декабря 2011

Я не уверен, если / где вы можете увидеть значения по умолчанию, не глядя на исходный код, но вы можете создать свой собственный в следующих каталогах, чтобы переопределить значения по умолчанию:

~/Views/Shared/EditorTemplates/Object.cshtml

и

~/Views/Shared/DisplayTemplates/Object.cshtml

Помогает ли это?

Вот отличный пост в блоге Брэда Уилсона, в котором вы узнаете, как создать свой собственный редактор по умолчанию и отобразить его.шаблоны: Шаблоны ASP.NET MVC 2, часть 4. Шаблоны пользовательских объектов

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