0
Когда я выбираю категорию из раскрывающегося списка, она не сохраняется в базе данных. В базе данных он показывает 101 для всех значенийКак сохранить выпадающие значения в базе данных в asp.net MVC
MY view.cshtml является
<h4>RecStock</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.Category, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
<div class="editor-field">
@Html.DropDownList("Category",null, new { @class = "form-control" })
</div>
@Html.ValidationMessageFor(model => model.Category, "", new { @class = "text-danger" })
</div>
</div>
Моего контроллер
public ActionResult Create()
{
ViewBag.Category = new SelectList(db.ProductDetails, "id", "Category");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Category,ProductName,ReceiveQty,Date")] RecStock recStock)
{
if (ModelState.IsValid)
{
db.RecStocks.Add(recStock);
ViewBag.Category = new SelectList(db.ProductDetails, "id", "Category", recStock.id);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(recStock);
}
Хотя это гораздо лучший синтаксис, он не объясняет в проблеме OP - и оба метода в конечном итоге вызывают один и тот же код внутри (и вы серьезно обновили этот вопрос). –
@StephenMuecke, почему это не так? Его версия не имеет «for», поэтому она не знает, какое свойство модели присваивает значение. Кроме того, я не обновлял вопрос, если я не пропустил что-то в этом комментарии) – ganders
Извините, это должно было быть увеличено (не обновлено). Код OP может быть ужасной практикой, но он по-прежнему будет корректно привязан к свойству с именем 'Category' (при условии его' int'). На вопрос нельзя ответить - мы понятия не имеем, какая модель или данные OP. –