0
Wenn ich Kategorie aus Dropdown auswählen wird nicht in der Datenbank gespeichert. In der Datenbank wird es 101 für alle WerteSo speichern Dropdown-Werte in der Datenbank in asp.net MVC
MY view.cshtml ist
<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>
Mein Controller
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);
}
Während dies eine viel bessere Syntax ist, explodiert es nicht ain OPs Problem - und beide Methoden nennen letzten Endes intern den gleichen Code (und hast du diese Frage ernsthaft überarbeitet) –
@StephenMuecke warum nicht? Seine Version hat kein "for", daher weiß sie nicht, welcher Modelleigenschaft der Wert zugewiesen werden soll. Außerdem habe ich die Frage nicht aktualisiert, es sei denn, ich verpasse etwas in diesem Kommentar) – ganders
Sorry, das sollte upvote (nicht update). Der OP-Code ist vielleicht eine üble Übung, aber er wird immer noch korrekt an eine Eigenschaft mit dem Namen 'Category' gebunden (vorausgesetzt, es ist ein' int'). Die Frage kann nicht beantwortet werden - wir haben keine Ahnung, was OPs Modell oder Daten sind. –