У меня проблемы с попыткой выяснить, почему я не могу получить данные формы.Ниже я предоставил свою работу, я добавил свой вид, модель представления и контроллер.Пожалуйста, дайте мне знать, если вам нужна дополнительная информация:
ViewModel:
namespace Chargebacks.app.ViewModels
{
public class ChargebackViewModel
{
public List<Fault> _TheFaults;
public List<ChargebackStatu> _TheChargebackStatus;
public List<Responsible> _TheResponsibleForChargeback;
public List<Department> _TheDepartments;
public GetChargeback_Result _TheCustomerChargeback;
}
}
Просмотр (укороченный):
@using (Html.BeginForm("Save", "Chargeback", FormMethod.Post))
{
@Html.AntiForgeryToken()
<div>
@Html.ActionLink("Back to List", "Index")
</div>
<div class="container">
<h4 id="details">Summary</h4>
<div class="row">
<div class="col-sm-4">
<div class="HColor">
@Html.Label("Fault")
</div>
@Html.DropDownList("FaultName", new SelectList(Model._TheFaults, "Id", "Name"), new { @class = "form-control" })
</div>
</div>
</div>
}
Контроллер:
[HttpPost]
public ActionResult Save(Chargeback model)
{
var chargebackInDb = db.Chargebacks.Single(x=> x.Id == model.Id);
if (chargebackInDb != null && ModelState.IsValid)
{
chargebackInDb.FaultId = model.FactoryId;
db.SaveChanges();
return RedirectToAction("Index");
}
return RedirectToAction("Save");
}
Я ожидаю, что он вернет значения, но вместо этого он возвращает ноль.