我正在学习asp.net mvc框架
我用表单创建页面。来自此表单的数据进入数据库。 然后我将此页面返回给用户,其中包含数据库中的所有数据易
确定。
确定。但是,然后用户刷新页面,post方法再次执行相同的表单数据和另一个数据写入数据库。 WTF?
这里代码:
控制器:
public class MainController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View(db.Entries.ToList());
}
[HttpPost]
public ActionResult Index(Message msg)
{
db.Entries.Add(msg);
db.SaveChanges();
return Index();
}
private MessagesContext db = new MessagesContext();
}
查看:
@using BasicWeb.Models
@model List<Message>
@{
ViewBag.Title = "Index";
}
<h2>Сохранялка</h2>
<form method="post" action="">
<fieldset>
<legend>Введи бурду</legend>
<input type="text" name="UserName" maxlength="512"/>
<input type="submit" value="ВВОДИ МЕНЯ"/>
</fieldset>
</form>
<br />
@foreach(Message item in @Model)
{
<p>@item.UserName</p>
}
答案 0 :(得分:2)
答案 1 :(得分:0)
您可能希望跟踪请求是否是因为页面刷新。
以下可能会有所帮助: Page Refresh Causes Duplicate POST in ASP.NET Applications
您需要检查请求是否是因为回发或页面刷新。