Asp.net MVC не отображает редактирование шаблона
У меня есть занятия:
public class PersonDetailsModel
{
public string FistName
{
get;
set;
}
public string LastName
{
get;
set;
}
public string Email
{
get;
set;
}
}
public class RegisterCoupleModel
{
public PersonDetailsModel Groom
{
get;
set;
}
public PersonDetailsModel Bride
{
get;
set;
}
public string UrlKeyword
{
get;
set;
}
public string ReCaptcha
{
get;
set;
}
}
папка Shared> EditorTemplates
PersonDetailsModel.cshtml
@model BindSolution.AndMarried.ViewModel.PersonDetailsModel
<div class="editor-label">
@Html.LabelFor(m => m.FistName)
</div>
<div class="editor-field">
@Html.EditorFor(m => m.FistName)
@Html.ValidationMessageFor(m => m.FistName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.LastName)
</div>
<div class="editor-field">
@Html.EditorFor(m => m.LastName)
@Html.ValidationMessageFor(m => m.LastName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Email)
</div>
<div class="editor-field">
@Html.EditorFor(m => m.Email)
@Html.ValidationMessageFor(m => m.Email)
</div>
По-моему:
@Html.EditorForModel()
Только UrlKeyword
а также ReCapcha
поля отображаются!
Почему Asp.net MVC не использует шаблоны в общей папке для отображения моего вложенного типа PersonDetailsModel
?
1 ответ
Решение
Знаешь, ты мог бы просто отредактировать свой другой вопрос.:)
Во всяком случае, я не думаю, что это сработает. Вам нужно либо контролировать весь шаблон самостоятельно, либо позволить MVC делать все самостоятельно. (Я могу ошибаться)
Создать шаблон редактора для RegisterCoupleModel
:
@model BindSolution.AndMarried.ViewModel.RegisterCoupleModel
@Html.EditorFor(model => model.Groom)
@Html.EditorFor(model => model.Bride)
@Html.EditorFor(model => model.UrlKeyword)
@Html.EditorFor(model => model.ReCapcha)
Или вы могли бы использовать [UIHint("PersonDetailsModel"]
атрибут на вашем Groom
а также Bride
свойства в вашей ViewModel.
Прочтите раздел замечаний в EditorForModel, чтобы узнать, как все это работает.