マイページの仕組み
クライアント検証が有効になっているテキストボックスが 3 つあります。
フォームデータを投稿するための送信ボタンがあります。
問題
送信ボタンをクリックすると、Post メソッドに移動します。テキストボックスに値を入力していないと、サーバー側 (Http Post) からエラーがスローされます。
次に、テキストボックスに値を入力し、ブラウザーを更新して、Get ではなく Post メソッドに入ります!!!
これに関するヘルプ??
マイページの仕組み
クライアント検証が有効になっているテキストボックスが 3 つあります。
フォームデータを投稿するための送信ボタンがあります。
問題
送信ボタンをクリックすると、Post メソッドに移動します。テキストボックスに値を入力していないと、サーバー側 (Http Post) からエラーがスローされます。
次に、テキストボックスに値を入力し、ブラウザーを更新して、Get ではなく Post メソッドに入ります!!!
これに関するヘルプ??
これは、リフレッシュ時に最後のリクエストを再発行するブラウザーのデフォルトの動作であり、この場合はたまたま POST です。
リフレッシュ時に再 POST を防止する場合は、MVC で PRG (POST-Redirect-GET) パターンを実装する必要があります。これは、POST を受信したコントローラーが、処理後に GET 要求を使用してリダイレクトする場所です。したがって、最後のブラウザー要求は、更新時に再発行される GET です。
[HttpPost]
public ActionResult Create(Model model) {
if (ModelState.IsValid) {
//do processing
return RedirectToAction("Details", new { id = model.Id })
}
return View(model);
}