【发布时间】:2011-06-13 10:27:44
【问题描述】:
我想在一个视图中有 2 个模型。该页面同时包含LoginViewModel 和RegisterViewModel。
例如
public class LoginViewModel
{
public string Email { get; set; }
public string Password { get; set; }
}
public class RegisterViewModel
{
public string Name { get; set; }
public string Email { get; set; }
public string Password { get; set; }
}
我是否需要制作另一个包含这 2 个 ViewModel 的 ViewModel?
public BigViewModel
{
public LoginViewModel LoginViewModel{get; set;}
public RegisterViewModel RegisterViewModel {get; set;}
}
我需要将验证属性提交给视图。这就是我需要 ViewModel 的原因。
有没有其他方式比如(没有BigViewModel):
@model ViewModel.RegisterViewModel
@using (Html.BeginForm("Login", "Auth", FormMethod.Post))
{
@Html.TextBoxFor(model => model.Name)
@Html.TextBoxFor(model => model.Email)
@Html.PasswordFor(model => model.Password)
}
@model ViewModel.LoginViewModel
@using (Html.BeginForm("Login", "Auth", FormMethod.Post))
{
@Html.TextBoxFor(model => model.Email)
@Html.PasswordFor(model => model.Password)
}
【问题讨论】:
-
@saeed serpooshan,非常感谢您提供具有不同选项的链接,4 年后您发表了评论,这对我有帮助,我只是在视图中使用
ViewBag,效果很好 -
@stom 仅供参考:帖子作者总是会收到通知,但如果你想通知其他人,你需要在他们的名字前面加上
@,就像我在这里所做的那样。