Может ли пользовательский EditorTemplate вызывать по умолчанию EditorTemplate для той же модели внутри него - PullRequest
4 голосов
/ 21 декабря 2011

Может ли пользовательский EditorTemplate вызывать по умолчанию EditorTemplate для той же модели внутри него? То же самое относится и к DisplayTemplates. Вот упрощенный пример. Пока отображается LabelForModel, ни DisplayForModel, ни EditorForModel не отображаются.

View

<div class="highlight1">
    @Html.DisplayFor(m => m.NullableProp, "NullableIntType1View")
</div>
<div class="highlight2">
    @Html.EditorFor(m => m.NullableProp, "NullableIntType1View")
</div>
<div class="highlight1">
    @Html.DisplayFor(m => m.NullableProp, "NullableIntType2View")
</div>
<div class="highlight2">
    @Html.EditorFor(m => m.NullableProp, "NullableIntType2View")
</div>

Shared / DisplayTemplates / NullableIntType1.cshtml

@model System.Int32?

This is display for NullableIntType1
<hr />  --> @Html.EditorForModel()  <--
<hr />  --> @Html.DisplayForModel() <--
<hr />  --> @Html.LabelForModel()   <--

Общий / EditorTemplates / NullableIntType1.cshtml

@model System.Int32?

This is editor for NullableIntType1
<hr />  --> @Html.EditorForModel()  <--
<hr />  --> @Html.DisplayForModel() <--
<hr />  --> @Html.LabelForModel()   <--

Shared / DisplayTemplates / NullableIntType2.cshtml

@model System.Int32?

This is display for NullableIntType2
<hr />  --> @Html.EditorForModel()  <--
<hr />  --> @Html.DisplayForModel() <--
<hr />  --> @Html.LabelForModel()   <--

Общий / EditorTemplates / NullableIntType2.cshtml

@model System.Int32?

This is editor for NullableIntType2
<hr />  --> @Html.EditorForModel()  <--
<hr />  --> @Html.DisplayForModel() <--
<hr />  --> @Html.LabelForModel()   <--

1 Ответ

2 голосов
/ 22 декабря 2011

Отображение и редактирование шаблонов в asp.net MVC Не может быть вложенным Еще хуже, когда они выполняются, они просто молча терпят неудачу.Я думаю, что это огромное ограничение шаблона проектирования, а также огромная слабость реализации.Он работает как магия, когда работает, но на самом деле это медведь для отладки, когда он не работает.

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