Похоже, что если вы просто используете Html.DisplayFor(model => model)
без шаблонов для представления сведений, результирующая разметка будет выглядеть примерно так:
<div class="display-label">first name</div>
<div class="display-field">Dan</div>
<div class="display-label">last name</div>
<div class="display-field">M</div>
<div class="display-label">email</div>
<div class="display-field">danm@fakedomain.com</div>
Это имеет достаточную степень гибкости. Если вы создаете CSS-классы для display-label
и display-field
, вы можете сделать совсем немного, но что если я захочу изменить его на что-то подобное?
<p>
<span class="display-label">first name</span>:
<span class="display-field">Dan</span>
</p>
<p>
<span class="display-label">last name</span>:
<span class="display-field">M</span>
</p>
<p>
<span class="display-label">email</span>:
<span class="display-field">danm@fakedomain.com</span>
</p>
Обратите внимание, что теперь пары атрибут-значение теперь отображаются рядом (вместо отдельных строк) и после каждого атрибута стоит двоеточие.
Есть ли способ создать пользовательский шаблон, который будет повторяться для каждой пары атрибут-значение при создании представления подробностей?
Я не говорю о конкретном шаблоне для модели (например, шаблон Person
) или шаблоне для определенного свойства (например, шаблон EmailAddress
). Я хочу что-то, что позволит мне описать, как выглядит пара атрибут-значение, тогда DispalyFor()
должен автоматически повторить этот шаблон для каждого свойства в моей модели или модели представления.