Saya ingin memiliki 2 model dalam satu tampilan. Halaman berisi keduanya LoginViewModel
dan RegisterViewModel
.
misalnya
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; }
}
Apakah saya perlu membuat ViewModel lain yang menampung 2 ViewModels ini?
public BigViewModel
{
public LoginViewModel LoginViewModel{get; set;}
public RegisterViewModel RegisterViewModel {get; set;}
}
Saya perlu atribut validasi untuk dibawa ke tampilan. Inilah sebabnya saya membutuhkan ViewModels.
Apakah tidak ada cara lain seperti (tanpa 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
untuk masing-masing tampilan, berfungsi dengan baik
@
di depan nama mereka, seperti yang saya lakukan di sini.