2010-03-31 6 views
2

Je n'ai trouvé aucune documentation sur l'utilisation de plusieurs formulaires dans une approche ASP.NET MVC 2 ViewModel.Utilisation de ViewModels dans ASP.NET MVC 2 - formulaires multiples

-à-dire dans la construction dans l'application lorsque vous sélectionnez Nouvelle MVC2 application web, la page de registre utilise un ViewPage qui hérite comme ceci:

Inherits="System.Web.Mvc.ViewPage<rs30UserWeb.Models.RegisterModel>"

Je voulais utiliser cette approche sur une page avec des formes multiples , mais que RegisterModel ne supporte qu'un seul formulaire.

+0

Pouvez-vous être un peu plus précis de la raison pour laquelle vous avez besoin de plusieurs ViewModels? Il y a une chance que le nouveau EditorFor soit une direction plus appropriée pour entrer? http://stackoverflow.com/questions/1235646/asp-net-mvc-2-html-editorfor-and-custom-editortemplates – R0MANARMY

+0

J'ai plusieurs formulaires sur une seule page. J'utilise l'approche de validation du modèle ASP.NET MVC2. –

+0

Ce premier lien que j'ai ajouté n'était pas particulièrement utile, c'est mieux http://blogs.msdn.com/nunos/archive/2010/02/08/quick-tips-about-asp-net-mvc-editor-templates .aspx – R0MANARMY

Répondre

6

L'approche est d'utiliser un viewmodel composite: -

namespace MyApp.Models

{ 
    public class MyCompositePageModel 
    { 
     public RegisterModel registerModel; 
     public LoginModel loginModel; 
    } 
} 

Quand vous faites cela, héritera la vue de celui-ci:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<rs30UserWeb.Models.RegisterModel>" %> 

la référence Ensuite, les modèles individuels dans la page:

<%= Html.TextBoxFor(m => m.loginModel.Email) %> 
<%= Html.ValidationMessageFor(m => m.loginModel.Email) %> 

Espérons que quelqu'un d'autre trouve cela utile.

Rob

Questions connexes