Asp razor form submit не работает
У меня есть форма Razor MVC 5, которая отправляет данные в базу данных sql. Когда я нажимаю кнопку Отправить, форма просто перезагружается, и значения формы сохраняются. Проверяя в базе данных, я вижу, что никакие значения не зафиксированы.
У меня есть почтовая версия ActionResult, уже украшенная [HttpPost]. Кроме того, в представлении я явно указал FormMethod.Post.
Это мой банк.cshtml :
model MY_SYSTEM.Models.Employee.Registration @{ ViewBag.Title = "Bank"; Layout = "~/Views/Shared/_LayoutPageh.cshtml"; } @using (Html.BeginForm("Bank", "Employee", FormMethod.Post, new { @class = "form-horizontal" })) { @Html.AntiForgeryToken() <div class="main-content-inner"> <div class="page-content"> <div class="page-header"> <h1>Employee Bank Detail</h1> </div> <div class="error">@ViewBag.ErrorMessage</div> <div class="row"> <div class="col-xs-12"> <div> <div class="user-profile row"> <div class="col-sm-offset-1 col-sm-8"> <form class="form-horizontal"> <div class="tabbable"> <div class="tab-content profile-edit-tab-content"> <div id="edit" class="tab-pane in active"> <div class="row"> <div class="col-xs-12 col-sm-8"> <div class="form-group"> <label class="col-sm-3 control-label no-padding-right" for="form-field-facebook">Bank</label> <div class="col-sm-9"> <span class="input-icon"> @*@Html.DropDownList("BankId", new SelectList(Model.Banks, "BankId", "BankName"),"-----Select Category-----")*@ @Html.DropDownListFor(m => m.BankId, Model.Banks, "Please Select", htmlAttributes: new { @class = "form-control" }) @Html.ValidationMessageFor(model => model.BankId, "", new { @class = "text-danger" }) class="ace-icon fa fa-bank blue"> </span> </div> </div> <div class="space-4"></div> <div class="form-group"> <label class="col-sm-3 control-label no-padding-right" for="form-field-facebook">Branch</label> <div class="col-sm-9"> <span class="input-icon"> @*@Html.DropDownListFor(m => m.SortCodes, ViewBag.SortCodes as IEnumerable<SelectListItem>, new { @class = "form-control" })*@ @Html.DropDownListFor(m => m.SortCode, Model.SortCodes, "", htmlAttributes: new { @class = "form-control" }) @Html.ValidationMessageFor(model => model.SortCode, "", new { @class = "text-danger" }) class="ace-icon fa fa-map-marker blue"> </span> </div> </div> <div class="space-4"></div> <div class="form-group"> <label class="col-sm-3 control-label no-padding-right" for="form-field-facebook">Account Name</label> <div class="col-sm-9"> <span class="input-icon"> @Html.EditorFor(model => model.AccountName, new { htmlAttributes = new { @class = "form-control", @placeholder = "" } }) @Html.ValidationMessageFor(model => model.AccountName, "", new { @class = "text-danger" }) class="ace-icon fa fa-user blue"> </span> </div> </div> <div class="space-4"></div> <div class=""> <button type="submit" class="btn btn-sm btn-success"> Submit class="ace-icon fa fa-arrow-right icon-on-right bigger-110"> </button> </div> </div> </div> </div> </div> </div> </div> </form> </div> </div> </div> </div> </div> </div> </div> }
Мои методы ActionResult следующие:
//ПОЛУЧИТЬ
public ActionResult Bank () { Models.Employee.Registration bank = new Models.Employee.Registration(); bank.Banks = PopulateBank(); bank.SortCodes = PopulateSortCode(); bank.AccountTypes = PopulateAccountType(); return View(bank); }
//ПОСТ
[HttpPost] public ActionResult Bank(Models.Employee.Registration bank) { if (!ModelState.IsValid) { bank.Banks = PopulateBank(); bank.SortCodes = PopulateSortCode(); bank.AccountTypes = PopulateAccountType(); return View(bank); } try { ... cmd.ExecuteNonQuery(); } return RedirectToAction("Index"); } catch (Exception) { bank.Banks = PopulateBank(); bank.SortCodes = PopulateSortCode(); bank.AccountTypes = PopulateAccountType(); ViewBag.ErrorMessage = Helpers.Messages.GENERAL_ERROR; return View(bank); } }
Что я уже пробовал:
Когда я нажимаю кнопку Отправить, ошибка не возвращается, она просто перезагружается. В инструментах разработчика Chrome-Network я не вижу ничего толкаемого в данных. Трафик просто относится к JS, Css и т. д. Я также проверил консоль, и никакие значимые сообщения не возвращаются, кроме следующих (которые кажутся не очень значимыми, если только я не упускаю их значение) :
Неперехваченная ошибка: недопустимые размеры для участка, ширина = null, высота = null
в B.размер (в jQuery.флот.мин.ДШ:8)
в новом b (jquery.flot.min.js:7)
при т (на jQuery.флот.мин.ДШ:7)
в новом c (jquery.flot.min.js:8)
в функции.а.участок (на jQuery.флот.мин.ДШ:8)
на drawPieChart (mihr20:615)
в HTMLDocument.<anonymous> (mihr20:643)
в J (библиотека jQuery-2.1.4.мин.ДШ:2)
at Object.fireWith [as resolveWith] (jquery-2.1.4.min.js:2)
в функции.готов (библиотека jQuery-2.1.4.мин.ДШ:2)