Voglio avere 2 modelli in una vista. La pagina contiene sia LoginViewModel
e RegisterViewModel
.
per esempio
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; }
}
Devo creare un altro ViewModel che contenga questi 2 ViewModel?
public BigViewModel
{
public LoginViewModel LoginViewModel{get; set;}
public RegisterViewModel RegisterViewModel {get; set;}
}
Ho bisogno che gli attributi di validazione vengano portati avanti alla vista. Questo è il motivo per cui ho bisogno dei ViewModels.
Non c'è un altro modo come (senza il 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
per ognuno nella vista, funziona benissimo
@
loro nome, come ho fatto qui.