Heim >Backend-Entwicklung >C++ >Wie erhalte ich den ausgewählten Wert aus einer DropDownList in einem MVC-Controller?

Wie erhalte ich den ausgewählten Wert aus einer DropDownList in einem MVC-Controller?

Susan Sarandon
Susan SarandonOriginal
2025-01-14 07:48:46707Durchsuche

How to Get the Selected Value from a DropDownList in an 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn