Je veux avoir 2 modèles dans une vue. La page contient à la fois LoginViewModel
et RegisterViewModel
.
par exemple
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; }
}
Dois-je créer un autre ViewModel contenant ces 2 ViewModels?
public BigViewModel
{
public LoginViewModel LoginViewModel{get; set;}
public RegisterViewModel RegisterViewModel {get; set;}
}
J'ai besoin que les attributs de validation soient avancés dans la vue. C'est pourquoi j'ai besoin des ViewModels.
N'y a-t-il pas un autre moyen tel que (sans le 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
avec pour chacun dans la vue, fonctionne très bien
@
en face de son nom, comme je l'ai fait ici.