Maison > développement back-end > C++ > Comment obtenir la valeur sélectionnée à partir d'une DropDownList dans un contrôleur MVC ?

Comment obtenir la valeur sélectionnée à partir d'une DropDownList dans un contrôleur MVC ?

Susan Sarandon
Libérer: 2025-01-14 07:48:46
original
707 Les gens l'ont consulté

How to Get the Selected Value from a DropDownList in an MVC Controller?

Obtenir la valeur sélectionnée de la liste déroulante dans le contrôleur MVC

Dans les applications MVC, l'attribution de valeurs aux listes déroulantes de la base de données est un scénario très courant. Cependant, lorsque vous soumettez le formulaire, vous devez accéder à la valeur sélectionnée dans le contrôleur. Cet article propose deux méthodes pour y parvenir :

Méthode 1 : Utiliser Request ou FormCollection

La première méthode lit la valeur sélectionnée directement à partir de la requête. En utilisant Request.Form vous pouvez spécifier la clé de la liste déroulante (ddlVendor dans ce cas) pour récupérer la valeur publiée :

<code class="language-csharp">string strDDLValue = Request.Form["ddlVendor"].ToString();</code>
Copier après la connexion

Vous pouvez également utiliser FormCollection :

<code class="language-csharp">[HttpPost]
public ActionResult ShowAllMobileDetails(MobileViewModel MV, FormCollection form)
{
  string strDDLValue = form["ddlVendor"].ToString();
  return View(MV);
}</code>
Copier après la connexion

Méthode 2 : Utiliser le modèle

Pour la méthode de liaison de modèle, ajoutez une propriété à votre modèle :

<code class="language-csharp">public class MobileViewModel 
{          
    public List<tbinsertmobile> MobileList;
    public SelectList Vendor { get; set; }
    public string SelectedVendor {get;set;}
}</code>
Copier après la connexion

À votre avis, liez la liste déroulante au modèle à l'aide de @Html.DropDownListFor et spécifiez la propriété SelectedVendor :

<code class="language-csharp">@Html.DropDownListFor(m=>m.SelectedVendor , Model.Vendor, "Select Manufacurer")</code>
Copier après la connexion

Enfin, dans votre contrôleur, la valeur sélectionnée est accessible via la propriété SelectedVendor :

<code class="language-csharp">[HttpPost]
public ActionResult ShowAllMobileDetails(MobileViewModel MV)
{           
   string SelectedValue = MV.SelectedVendor;
   return View(MV);
}</code>
Copier après la connexion

Mise à jour : Publier le texte sélectionné

Pour capturer à la fois la valeur sélectionnée et son texte correspondant, ajoutez un champ masqué à votre vue :

<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>
Copier après la connexion

À votre avis, utilisez JavaScript pour mettre à jour le texte de l'élément sélectionné dans le champ masqué :

<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>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal