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

时间:2010-03-31 04:37:43

标签: asp.net-mvc-2 viewmodel multiple-forms

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

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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) %>

希望别人觉得这很有用。