我正在阅读一本关于ASP.NET MVC 4的书,有一个小问题需要解答。以下是视图模型:
public class SignupViewModel
{
public string Username { get; set; }
public string Password { get; set; }
public string Password2 { get; set; }
public string Email { get; set; }
}
这本书的作者建议创建这种类型的对象来从控制器调用视图。
public ActionResult Index()
{
if (!Security.IsAuthneticated)
{
return View("SignupPge", new SignupViewModel());
}
}
视图本身是强类型的。
@model SignupViewModel
<p>
@using (var signupForm = Html.BeginForm("Signup", "Account"))
{
@Html.TextBoxFor(m => m.Email, new { placeholder = "Email" })
@Html.TextBoxFor(m => m.Username, new { placeholder = "Username" })
@Html.PasswordFor(m => m.Password, new { placeholder = "Password" })
@Html.PasswordFor(m => m.Password2, new { placeholder = "Confirm Password" })
<input type="submit" value="Create Account" />
}
</p>
}
我想知道在调用视图时创建视图模型对象是否真的必要?事实上,我尝试将模型对象传递为null,一切工作得很完美。我猜MVC框架已经自行创建了模型对象。如果这是可以的,那么它被认为是一个好习惯吗?