1つのビューに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;}
}
検証属性をビューに転送する必要があります。これが、ViewModelsが必要な理由です。
(なし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
ビュー内のそれぞれのために、素晴らしい作品
@
は、ここで行ったように、名前の前に置く必要があります。