MVC2/.net 4.0を同時に習得しようとしています。私は「MVC 2 Web」プロジェクト(アカウントコントローラとホームコントローラはあなたのためにセットアップされています)から始めるときに、汎用テンプレートVSを使用しています。MVC実行順
私の質問は、ビューは強くモデルに再度型付けされているということです。モデルは次のようになります。
[HttpPost]
public ActionResult Register(RegisterModel model)
{
if (ModelState.IsValid)
{
// Attempt to register the user
MembershipCreateStatus createStatus = MembershipService.CreateUser(model.UserName, model.Password, model.Email);
if (createStatus == MembershipCreateStatus.Success)
{
FormsService.SignIn(model.UserName, false /* createPersistentCookie */);
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", AccountValidation.ErrorCodeToString(createStatus));
}
}
// If we got this far, something failed, redisplay form
ViewData["PasswordLength"] = MembershipService.MinPasswordLength;
return View(model);
}
ので、質問のカップルを:
[PropertiesMustMatch("Password", "ConfirmPassword", ErrorMessage = "The password and confirmation password do not match.")]
public class RegisterModel {
[Required]
[DisplayName("User name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
[DisplayName("Email address")]
public string Email { get; set; }
[Required]
[ValidatePasswordLength]
[DataType(DataType.Password)]
[DisplayName("Password")]
public string Password { get; set; }
[Required]
[DataType(DataType.Password)]
[DisplayName("Confirm password")]
public string ConfirmPassword { get; set; }
[Required]
[DisplayName("School")]
public string School { get; set; }
}
その後、私は私のWebページ上の「登録」と、それは私のコントローラから以下を実行押してくださいね。
1)メソッド名の上にあるクラスは、最初に実行されます(ここではどの用語を使うのかわかりません)?たとえば、モデルのプロパティの上に[ValidatePasswordLength]
があります。これは、パスワードを送信すると、dosnt検証、それはコントローラを打つdosnt意味ですか?このロジックをコントローラに入れることはできますか?
2)ModelState
はどこから来ていますか?
MVCですべてがどのように接続されているかをフローチャートで知りたいだけです。それは大きな円のように思え、出発点はありません。