Я делаю ASP.Net Core MVC с шаблоном EntityFramework (Code First). У меня есть страница бритвы, которая отрисовывает частичную часть со всеми входными данными формы (удалено большинство элементов div, легко читаемых). Это myPartial, что при отправке вызовов AddClub метод в моем контроллере
@using (Html.BeginForm("AddClub", "Club", FormMethod.Post, new { @class = "form-horizontal" }))
{
<div class="form-group">
<label class="control-label col-sm-3">Club Sponser:</label>
<div class="col-sm-4">
@Html.TextBox("ClubSponser", null, new { @class = "form-control", id = "ClubSponser", placeholder = "Enter club Sponser" })
</div>
</div>
<div class="btn-toolbar col-md-offset-7" role="group">
<button type="submit" onsubmit="AddClub("ClubName","ClubOwner","ClubCoach","ClubSponser")" class="btn btn-primary">Add Club</button>
<a href="@Url.Action("Index", "Home")" class="btn btn-danger">Cancel</a>
</div>
}
Это мой контроллер AddClub ()
[HttpPost]
public ActionResult AddClub(string ClubName,string ClubOwner,string ClubCoach,string ClubSponser)
{
Club club = new Club()
{
Name = ClubName,
Owner = ClubOwner,
Coach=ClubCoach,
Sponser=ClubSponser
};
clubRepo.AddClub(club);
return RedirectToAction("Index","Club");
}
Это мой Класс обслуживания , который реализует интерфейс
public async Task AddClub(Club club)
{
_context.Clubs.Add(club);
await _context.SaveChangesAsync();
}
В Запуск Служба внедряется как Singleton
services.AddSingleton<IClubRepo, ClubService>();
1) Я полагаю, что это происходит потому, что в моем классе обслуживания метод работает асинхронно, что может быть причиной (не уверен). У меня есть эта догадка, потому что, если я не перенаправлю его, обновляет базу данных совершенно
2) Я не хочу задавать другой вопрос, но мне просто нужно мнение, если это правильный способ отправки формы в ASP.Net core / MVC