在ASP.NET MVC 2中使用ViewModels - 多种形式

Rob*_*lis 2 viewmodel multiple-forms asp.net-mvc-2

我找不到任何关于在ASP.NET MVC 2 ViewModel方法中使用多个表单的文档.

ie在内置应用程序中,当您选择New MVC2 Web应用程序时,注册页面使用ViewPage,其继承如下:

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

我想在具有多个表单的页面上使用该方法,但RegisterModel仅支持一个表单.

Rob*_*lis 5

方法是使用复合视图模型:

namespace MyApp.Models
{
    public class MyCompositePageModel
    {
        public RegisterModel registerModel;
        public LoginModel loginModel;
    }
}
Run Code Online (Sandbox Code Playgroud)

当你这样做时,从它继承视图:

<%@ Page Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<rs30UserWeb.Models.RegisterModel>" %>
Run Code Online (Sandbox Code Playgroud)

然后参考页面中的各个模型:

<%= Html.TextBoxFor(m => m.loginModel.Email) %>
<%= Html.ValidationMessageFor(m => m.loginModel.Email) %>
Run Code Online (Sandbox Code Playgroud)

希望别人觉得这很有用.