m modelo pode ser passado por vários modelos de edito
Estou tentando exibir um modelo de exibição usando um modelo de editor que agrupa o modelo em um conjunto de campos antes de aplicar um modelo de editor de objetos bas
Minha visão
@model Mvc3VanillaApplication.Models.ContactModel
@using (Html.BeginForm())
{
@Html.EditorForModel("Fieldset")
}
Use um modelo de conjunto de campos (Views / Shared / EditorTemplates / Fieldset.cshtml):
<fieldset>
<legend>@ViewData.ModelMetadata.DisplayName</legend>
@Html.EditorForModel()
</fieldset>
Por sua vez, que usa um modelo básico para todos os objetos (Views / Shared / EditorTemplates / Object.cshtml):
@foreach (var prop in ViewData.ModelMetadata.Properties.Where(x =>
x.ShowForEdit && !x.IsComplexType && !ViewData.TemplateInfo.Visited(x)))
{
@Html.Label(prop.PropertyName, prop.DisplayName)
@Html.Editor(prop.PropertyName)
}
Essa é minha intenção de qualquer maneira. O problema é que, enquanto a página é renderizada com um conjunto de campos e uma legenda, o modelo Objeto não é aplicado, portanto, nenhum controle de entrada é exibid
Se eu alterar a exibição para não especificar o modelo "Fieldset", as propriedades do meu modelo serão renderizadas usando o modelo de Objeto; portanto, não é possível que meu modelo de Objeto não seja encontrad
possível passar o mesmo modelo através de vários modelo
Para que vale a pena, o modelo de exibição fica assim:
namespace Mvc3VanillaApplication.Models
{
[System.ComponentModel.DisplayName("Contact Info")]
public class ContactModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
}