1

だから私は私のコントローラーで簡単なアクションを持っています。プロジェクトはMVCモバイルアプリケーションです。

public ActionResult Index()
{
  return View();
}

これにより、データを入力するためのフォームが提供されます。次に、ポストバックでデータを処理します。

[HttpPost]
public ActionResult Index(ScanViewModel model)
{
    if (ModelState.IsValid)
    {
        Scan ns = new Scan();
        ns.Location = model.Location;
        ns.Quantity = model.Quantity;
        ns.ScanCode = model.ScanCode;
        ns.Scanner = User.Identity.Name;
        ns.ScanTime = DateTime.Now;

        _db.Scans.Add(ns);
        _db.SaveChanges();

    }

    return View(model);
}

フォームのフィールドをクリアして、ユーザーがデータを再入力できるようにしたい。ただし、まったく同じ値を入力に戻します。コントローラでそれらをクリアするにはどうすればよいですか。

4

2 に答える 2

1

PRGパターンに従う必要があります。

Create画面用のActionメソッドにリダイレクトするだけです。このRedirectToAction方法を使用してこれを行うことができます。

RedirectToActionブラウザにHTTP302応答を返します。これにより、ブラウザは指定されたアクションに対してGETリクエストを行います。

[HttpPost]
public ActionResult Index(ScanViewModel model)
{
   if(ModelState.IsValid)
   {
       //Code for save here
       //..............
       _db.SaveChanges();
       return RedirectToAction("Index","User");
   }
   return View(model);
}
public ActionResult Index()
{
   return View();
}

コントローラ名が。であると仮定しますUserController

于 2012-08-20T23:45:00.050 に答える
1

電話するだけthis.ModelState.Clear()

于 2012-08-21T00:32:15.583 に答える