ASP.Net MVC 3和Razor 我使用以下代码提交页面
<input name ="button" type="submit" value="AddData" />
我从服务器端读取控制操作方法中的Modal数据。
我读到的数据来自以下代码
@ Html.TextAreaFor(m =&gt; m.Letter.Letters,new {id =“LetterTextArea”});
提交页面后,我无法清除文本框中的文字。
如何在提交(点击按钮)数据后清除文本。
谢谢你, 史密斯
答案 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);
}