Ich möchte 2 Modelle in einer Ansicht haben. Die Seite enthält sowohl LoginViewModel
und RegisterViewModel
.
z.B
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; }
}
Muss ich ein anderes ViewModel erstellen, das diese 2 ViewModels enthält?
public BigViewModel
{
public LoginViewModel LoginViewModel{get; set;}
public RegisterViewModel RegisterViewModel {get; set;}
}
Ich möchte, dass die Validierungsattribute in die Ansicht übernommen werden. Deshalb brauche ich die ViewModels.
Gibt es nicht einen anderen Weg wie (ohne 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)
}
ViewBag
für jeden in der Ansicht verwendet, funktioniert
@
wie hier vor seinen Namen setzen .