Heim >Backend-Entwicklung >C++ >Wie erhalte ich den ausgewählten Wert aus einer DropDownList in einem MVC-Controller?
Ausgewählten Wert der Dropdown-Liste im MVC-Controller abrufen
In MVC-Anwendungen ist das Zuweisen von Werten zu Dropdown-Listen aus der Datenbank ein sehr häufiges Szenario. Wenn Sie das Formular absenden, müssen Sie jedoch auf den ausgewählten Wert im Controller zugreifen. Dieser Artikel bietet zwei Methoden, um dies zu erreichen:
Methode 1: Request oder FormCollection verwenden
Die erste Methode liest den ausgewählten Wert direkt aus der Anfrage. Mit Request.Form können Sie den Schlüssel des Dropdowns (in diesem Fall ddlVendor) angeben, um den geposteten Wert abzurufen:
<code class="language-csharp">string strDDLValue = Request.Form["ddlVendor"].ToString();</code>
Alternativ können Sie FormCollection verwenden:
<code class="language-csharp">[HttpPost] public ActionResult ShowAllMobileDetails(MobileViewModel MV, FormCollection form) { string strDDLValue = form["ddlVendor"].ToString(); return View(MV); }</code>
Methode 2: Modell verwenden
Fügen Sie für die Modellbindungsmethode eine Eigenschaft zu Ihrem Modell hinzu:
<code class="language-csharp">public class MobileViewModel { public List<tbinsertmobile> MobileList; public SelectList Vendor { get; set; } public string SelectedVendor {get;set;} }</code>
Binden Sie Ihrer Ansicht nach die Dropdown-Liste mithilfe von @Html.DropDownListFor an das Modell und geben Sie die SelectedVendor-Eigenschaft an:
<code class="language-csharp">@Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer")</code>
Schließlich kann in Ihrem Controller über die SelectedVendor-Eigenschaft auf den ausgewählten Wert zugegriffen werden:
<code class="language-csharp">[HttpPost] public ActionResult ShowAllMobileDetails(MobileViewModel MV) { string SelectedValue = MV.SelectedVendor; return View(MV); }</code>
Update: Ausgewählten Text posten
Um sowohl den ausgewählten Wert als auch den entsprechenden Text zu erfassen, fügen Sie Ihrer Ansicht ein ausgeblendetes Feld hinzu:
<code class="language-csharp">public class MobileViewModel { public List<tbinsertmobile> MobileList; public SelectList Vendor { get; set; } public string SelectVendor {get;set;} public string SelectedvendorText { get; set; } }</code>
Verwenden Sie Ihrer Ansicht nach JavaScript, um den ausgewählten Elementtext im ausgeblendeten Feld zu aktualisieren:
<code class="language-javascript">$(function(){ $("#SelectedVendor").on("change", function() { $("#SelectedvendorText").val($(this).text()); }); }); @Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer") @Html.HiddenFor(m=>m.SelectedvendorText)</code>
Das obige ist der detaillierte Inhalt vonWie erhalte ich den ausgewählten Wert aus einer DropDownList in einem MVC-Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!