Je le modèlemodèle Bind retour lors de l'affichage avec le modèle DisplayFor
public class PersonViewModel
{
public Guid Id { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
}
qui est niché dans un autre modèle de vue:
public class ApprovalModel
{
[UIHint("MyDisplayTemplate")]
public PersonViewModel User { get; set; }
[Required]
public bool? Approve { get; set; }
}
Sous Vues -> Partagé -> DisplayTemplates je le modèle Dans ma vue ApprovalModel J'utilise la ligne suivante, qui affiche le modèle imbriqué:
MyDisplayTemplate.ascx<div class="display-field"> <%: Html.DisplayFor(model => model.User) %> </div>
Et dans mon contrôleur j'ai l'action
[HttpPost]
public virtual ActionResult ApproveRequest(ApprovalModel vm)
{
//access bound vm.User here
}
est-il un moyen simple de lier le modèle imbriqué retour à la demande de poste? Ou quoi d'autre puis-je faire pour le lier?
grâce
mais je ne souhaite pas modifier les champs. Je veux les afficher et les réutiliser sur l'action de publication – Fabiano
Sans les champs de saisie, vous ne récupérerez pas les valeurs dans l'action du contrôleur. Lorsque vous utilisez 'ApprovalModel' comme paramètre d'action, il recherche les valeurs passées dans la requête. Vous pouvez également les inclure en tant que champs masqués dans votre formulaire si vous ne souhaitez pas que ces champs de saisie soient visibles, mais que les valeurs doivent être envoyées au serveur d'une manière ou d'une autre. –