2

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

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

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

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

4

1 回答 1

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

希望其他人觉得这很有用。

于 2010-03-31T04:44:25.783 回答