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, чтобы узнать, как все это работает.

Другие вопросы по тегам