2010-11-28 8 views
1

私はウェブサイトを作っています。データアクセス層に送信する前に、ユーザがフィールドを登録して検証してほしいです。
ページには、2つのフォーム、ログインフォーム、および登録フォームが含まれています。
ユーザーが登録ボタンを押すと、ページのURLは/ uers/registerになりますが、ユーザーがページを更新した場合、ブラウザは再送信するかどうか尋ねます。
ユーザーが再ポストを要求しないページをリフレッシュしたかのように実装したいと思います。ページを実装するにはフォームが含まれています。投稿後にユーザーは再ポストすることなく更新できますか?

例でもっと明確にするには:stackoverflow.comログインページに行き、空のopenidでLoginを押してください。エラーメッセージが表示されますが、ページをリフレッシュすると再投稿は要求されません。

フォームが投稿されていないときにstackoverflowを実行するにはどうすればよいですか?

答えて

1

これはredirect after postパターンと呼ばれ、ASP.NET MVCには次のようになります。

public ActionResult Index() 
{ 
    var model = new SomeViewModel(); 
    return View(model); 
} 

[HttpPost] 
public ActionResult Index(SomeViewModel model) 
{ 
    if (!ModelState.IsValid) 
    { 
     // validation failed => redisplay the form 
     return View(model); 
    } 
    // Validation passed => update database and redirect 
    return RedirectToAction("Index"); 
} 
関連する問題