j'ai donc une grande difficulté si le champ ICollection sur ce modèleComment gérer le terrain ICollection <>
Ceci est mon modèle
public class RegisterModel
{
public RegisterModel()
{
this.Servicios = new HashSet<Servicio>();
}
[Required(ErrorMessage="El nombre de usuario es requerido.")]
[Display(Name = "Usuario")]
public string UserName { get; set; }
//[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email")]
public string Email { get; set; }
[Required(ErrorMessage = "La contraseña es obligatoria.")]
[StringLength(100, ErrorMessage = "El {0} debe tener al menos {2} caracteres de longitud.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Contraseña")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmar contraseña.")]
[Compare("Password", ErrorMessage = "La contraseña y la confirmacion no coinciden.")]
public string ConfirmPassword { get; set; }
[Required(ErrorMessage="Seleccione los servicios que desea agregar al usuario")]
[Display(Name="Servicio")]
public ICollection<Servicio> Servicios { get; set; } //This field
}
Maintenant, ce que je veux réaliser est de créer un EditorTemplate pour Servicio
qui en fait je l'ai fait, mais le problème c'est que dans la vue principale qui est fortement type pour RegisterModel
Je ne sais pas comment passer chaque Servicio de l'ICollection <> à mon EditorTemplate J'ai essayé comme ceci mais cela ne fonctionne pas
@model SodexoSAT.Models.RegisterModel
@using (Html.BeginForm()) {
@Html.ValidationSummary(true, "No se Pudo crear la cuenta. Por favor corrija los errores e inténtelo de nuevo.")
<div>
<fieldset>
<legend>Información de la cuenta</legend>
<div class="editor-label">
@Html.LabelFor(m => m.UserName)
</div>
<div class="editor-field">
@Html.TextBoxFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Password)
</div>
<div class="editor-field">
@Html.PasswordFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.ConfirmPassword)
</div>
<div class="editor-field">
@Html.PasswordFor(m => m.ConfirmPassword)
@Html.ValidationMessageFor(m => m.ConfirmPassword)
</div>
<div class="editor-label">
@Html.LabelFor(m => m.Servicios)
</div>
<div class="editor-field">
<div>
@Html.EditorFor(m => Model.Servicios) <--doesn't work
@Html.EditorForModel(m => Model.Servicios) <--doesn't work
@Html.EditorForModel(Model.Servicios) <--doesn't work too
</div>
</div>
<p>
<input type="submit" value="Crear Usuario" class="botonAtento" />
</p>
</fieldset>
</div>
}
vous avez des problèmes mais quel est le problème exact || Erreur que vous rencontrez – MethodMan
http://stackoverflow.com/questions/4652457/asp-net-mvc-problem-with-editortemplate-for-icollectiont-mapped-to-enum a déjà ce même poste –