Использование ViewModels в ASP.NET MVC 2 - несколько форм - PullRequest
2 голосов
/ 31 марта 2010

Я не смог найти никакой документации об использовании нескольких форм в подходе ASP.NET MVC 2 ViewModel.

т.е. Во встроенном приложении при выборе нового веб-приложения MVC2 на странице регистрации используется ViewPage, который наследуется следующим образом:

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

Я хотел использовать этот подход на странице с несколькими формами, но RegisterModel поддерживал только одну форму.

1 Ответ

5 голосов
/ 31 марта 2010

Подход состоит в том, чтобы использовать составную модель представления:

namespace MyApp.Models
{
    public class MyCompositePageModel
    {
        public RegisterModel registerModel;
        public LoginModel loginModel;
    }
}

Когда вы сделаете это, унаследуйте от него представление:

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

Затем обратитесь к отдельным моделям на странице:

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

Надеюсь, кто-то еще найдет это полезным.

...