Я изучаю asp.net mvc frameworkОбновить страницу выполнить почтовый метод
Я создаю страницу с формой. Данные из этой формы поступают в базу данных. Затем я возвращаю эту страницу пользователю со всеми данными из базы данных. Легко
Ok.
- Показать страницу с формой. Ok
- Запись данных из этой формы в базу данных. Ok
- Прочитайте данные из базы данных и покажите их пользователю. Ok
Ok. Но затем страница обновления пользователя, метод 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>
}