0

ASP.Net MVC 4に基本的なCRUDアプリケーションがあります。CRUD形式の作成ビューには、「保存」ボタンと「キャンセル」ボタンのあるフォームがあります。保存ボタンをクリックすると、データがデータベースに正しく保存され、ビューが前のリストレコードに更新されます。ユーザーがクリックする「保存して追加」ボタンを作成したいのですが、データが保存され、「作成」ビューが再度読み込まれます。申し訳ありませんが私の悪い英語...ありがとう。

4

2 に答える 2

0

Createアクションでリダイレクトを変更する必要があります。これは、Post / Redirect/Getパターンと呼ばれます。フォームデータをPOSTすると、アクションによってデータベースに保存され、別の場所にリダイレクトされます。現在、アイテムのリストアクション(おそらくRedirectToAction( "Index"))にリダイレクトしています。作成にリダイレクトするように変更します。

public ActionResult Create(DataModel data)
{
    if (ModelState.IsValid)
    {
        // save data here

        return RedirectToAction("Create");
    }
}
于 2012-11-19T19:06:20.480 に答える
0

mfantoの言いたいことですが、私が信じているように、どちらのボタンがクリックされたかを検出できるようにしたい場合は、type="submit"と同じ名前の両方のボタンを作成するだけです。ただし、両方に異なる値を指定してください。好き:

<input type="submit" name="whichButton" value="Save" />
<input type="submit" name="whichButton" value="SaveAndAdd" />

次に、コントローラーで、ボタンと同じ名前のパラメーターでボタン値を受け取ります。

public ActionResult ActionName(Model model,string whichButton){
    switch(whichButton) {
        case "Save" : //do stuff and redirect to the list of records
        break;
        case "SaveAndAdd" : //do stuff and redirect to create
        break;
    }
}
于 2012-11-19T19:15:51.407 に答える