0

ASP.Net MVC 3 および Razor I は、次のコードを使用してページを送信します

       <input name ="button" type="submit" value="AddData" />

コントロール アクション メソッド内の Modal データをサーバー側から読み取ります。

私が読んだデータは以下のコードからのものです

@Html.TextAreaFor(m => m.Letter.Letters, new {id = "LetterTextArea"});

ページを送信した後、テキスト ボックス内のテキストをクリアできません。

データを送信(ボタンをクリック)した後にテキストをクリアする方法。

ありがとう、スミス

4

2 に答える 2

2

同じモデルをビューに戻していると思います。代わりにGETアクションにリダイレクトする必要があります( Post -Redirect- Get Pattern )

[HttpPost]
public ActionResult Add(UserViewModel model)
{
  if(ModelState.IsValid)
  {
    //Save the data, If everything is ok, We will do a Redirect to GET action
    return RedirectToAction("Add","User");
  } 
  return View(model);    
}

RedirectToActionメソッドはリクエストを発行しGET、空のフォームを返す GET アクション メソッドをヒットします。

public ActionResult Add()
{
  var userViewModel=new UserViewModel();
  return View(userViewModel);
}

PRG パターンを考慮する必要がある理由については、こちらのチュートリアルを参照してください。

于 2012-09-11T16:31:04.113 に答える
0

この状況でのベスト プラクティスである @Shyju の回答に加えて、ModelState から値を削除できます。これは、HTML ヘルパーが最初に ModelState 内に格納された値を使用し、その後モデルに格納されているためです。

[HttpPost]
public ActionResult SomeAction(MyViewModel model)
{
    ModelState.Remove(Letter.Letters);
    model.Letter.Letters = "";
    return View(model);
}
于 2012-09-11T16:33:07.727 に答える