У меня небольшое разочарование по поводу @ html.EditorFor в MVC5, в «Create View»
По сути, у меня есть выпадающий список, из которого пользователь выбирает информацию.При изменении значение раскрывающегося списка передается (через javascript) в относительный @ Html.EditorFor, который сохраняется в таблице при отправке представления.
Это мой код представления для DropDown (сам раскрывающийся список заполняется контроллером индекса и отлично работает)
@Html.DropDownList("testList", null, "Select Delivery Unit", new { htmlAttributes = new { @class = "form-control" } })
Это мой код представления для EditorFor:
@Html.EditorFor(model => model.DeliveryUnitID, null, "myunit", new { htmlAttributes = new { @class = "form-control" } })
Хотя JavaScript работает должным образом, я включу и этот код, на всякий случай, если он понадобится:
<script type="text/javascript">
$(function () {
$("[name='testList']").change(function () {
$("#myunit").val($(this).val());
});
});
</script>
Пользователь выбирает параметр из выпадающего списка "testlist", и этозначение передается в «myunit» с предоставленным javascript.Это все работает очень хорошо.Но когда я сохраняю данные.,,это поле всегда пусто.Это не захват значения.
Я считаю, что проблема со вторым атрибутом (ноль).
Что мне нужно изменить, чтобы эта работа работала должным образом?
Обновление: вот код создания представления контроллера
public ActionResult Create()
{
List<SelectListItem> testList = db.ICS_Units.Select(x => new SelectListItem { Value = x.DeliveryUnitID.ToString(), Text = x.DeliveryUnit, Selected = false }).DistinctBy(p => p.Text).ToList();
ViewBag.testList = new SelectList(testList, "Value", "Text");
return View();
}
// POST: InternalOrders/Create
// To protect from overposting attacks, please enable the specific properties you want to bind to, for
// more details see http://go.microsoft.com/fwlink/?LinkId=317598.
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "TransID,SuppliesID,OriginalDate,TransType,LastUpdatedBy,Contact,OpenClosed,CurrentStatus,CurrentStatusDate,RequsitionNumber,PONumber,DeliveryMonth,DeliveryYear,UnitsOrdered,Emergency,Comments,DeliveryUnitID")] ICS_Transactions iCS_Transactions)
{
if (ModelState.IsValid)
{
db.ICS_Transactions.Add(iCS_Transactions);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(iCS_Transactions);
}