如何清除文字

时间:2012-09-11 16:28:30

标签: asp.net-mvc-3 razor

ASP.Net MVC 3和Razor 我使用以下代码提交页面

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

我从服务器端读取控制操作方法中的Modal数据。

我读到的数据来自以下代码

@ Html.TextAreaFor(m =&gt; m.Letter.Letters,new {id =“LetterTextArea”});

提交页面后,我无法清除文本框中的文字。

如何在提交(点击按钮)数据后清除文本。

谢谢你, 史密斯

2 个答案:

答案 0 :(得分:2)

我认为您将相同的模型返回给View。您应该重定向到 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);
}

Here是一个很好的教程,为什么你应该考虑PRG模式。

答案 1 :(得分:0)

除了@Shyju答案,这是这种情况下的最佳做法,您可以从ModelState中删除值,因为HTML助手将首先使用存储在ModelState中的值,然后再使用模型中的值:

[HttpPost]
public ActionResult SomeAction(MyViewModel model)
{
    ModelState.Remove(Letter.Letters);
    model.Letter.Letters = "";
    return View(model);
}