Ajouter une classe css pour sélectionner en utilisant @ Html.DropDownList ()

Je construis ma première application MVC après des années de webforms, et pour une raison quelconque, je ne suis pas capable de faire ce travail:

@Html.DropDownList("PriorityID", Ssortingng.Empty, new {@class="textbox"} ) 

Message d’erreur:

System.Web.Mvc.HtmlHelper ‘ne contient pas de définition pour DropDownList et la meilleure surcharge de la méthode d’extension System.Web.Mvc.Html.SelectExtensions.DropDownList(System.Web.Mvc.HtmlHelper, ssortingng, System.Collections.Generic.IEnumerable, object) contient des arguments non valides

Toute aide grandement appréciée!

En regardant le contrôleur, et en apprenant un peu plus sur la manière dont MVC fonctionne réellement, j’ai pu comprendre cela.

Ma vue était une des générées automatiquement et contenait cette ligne de code:

 @Html.DropDownList("PriorityID", ssortingng.Empty) 

Pour append des atsortingbuts HTML, je devais faire quelque chose comme ceci:

 @Html.DropDownList("PriorityID", (IEnumerable)ViewBag.PriorityID, new { @class="dropdown" }) 

Merci encore à @Laurent pour votre aide, je réalise que la question n’était pas aussi claire que cela aurait pu être …

METTRE À JOUR:

Une meilleure façon de le faire serait d’utiliser DropDownListFor dans la mesure du possible, afin de ne pas compter sur une chaîne magique pour l’atsortingbut name.

 @Html.DropDownListFor(x => x.PriorityID, (IEnumerable)ViewBag.PriorityID, new { @class = "dropdown" }) 

Comme la signature du message d’erreur implique, le deuxième argument doit être un IEnumerable, plus spécifiquement, un IEnumerable de SelectListItem. C’est la liste des choix. Vous pouvez utiliser le type SelectList, qui est un IEnumerable de SelectListItem. Pour une liste sans choix:

 @Html.DropDownList("PriorityID", new List(), new {@class="textbox"} ) 

Pour une liste avec quelques choix:

 @Html.DropDownList( "PriorityID", new List { new SelectListItem { Text = "High", Value = 1 }, new SelectListItem { Text = "Low", Value = 0 }, }, new {@class="textbox"}) 

Peut-être que ce tutoriel peut être utile: Comment créer un DropDownList avec ASP.NET MVC

Si vous ajoutez plus que des arguments, une liste déroulante dans Asp.Net MVC. Lorsque vous modifiez un enregistrement ou une valeur de passage dans le sac d’affichage.

Utilise ça ce sera du travail: –

 @Html.DropDownList("CurrencyID",null,Ssortingng.Empty, new { @class = "form-control-mandatory" }) 

Vous pouvez le faire en utilisant jQuery

  $("select").addClass("form-control") 

ici, Sélectionner la balise is-html, le contrôle de formulaire is- nom de la classe

  @Html.DropDownList("SupplierId", "Select Supplier") 

et ici, SupplierId est ViewBagList, Select Supplier est – Nom d’affichage

Il y a quelques options dans l’apparence des constructeurs, si vous n’avez pas dropdownList et que vous voulez insérer une classe CSS que vous pouvez utiliser comme

 @Html.DropDownList("Country", null, "Choose-Category", new {@class="form-control"}) 

dans ce cas, Country est le nom de votre liste déroulante, null si vous ne transmettez aucune liste générique depuis votre contrôleur “Choose-Category” est l’élément sélectionné et le dernier dans la classe CSS si vous ne souhaitez pas sélectionner d’option par défaut remplacez simplement “Choose-Category” par “”

Essayez simplement ceci

 @Html.DropDownList("PriorityID", (IEnumerable)ViewBag.PriorityID, new { @class="dropdown" }) 

Mais si vous voulez une valeur par défaut ou aucune valeur d’option, vous devez essayer celle-ci, car Ssortingng.Empty sélectionnera aucune valeur pour vous, qui fonctionnera comme une -select- par défaut.

 @Html.DropDownList("PriorityID", (IEnumerable)ViewBag.PriorityID, Ssortingng.Empty, new { @class="dropdown" }) 

Essaye ça:

 @Html.DropDownList( "country", new[] { new SelectListItem() { Value = "IN", Text = "India" }, new SelectListItem() { Value = "US", Text = "United States" } }, "Country", new { @class = "form-control",@selected = Model.Country} ) 

Essayez ci-dessous le code:

 @Html.DropDownList("ProductTypeID",null,"",new { @class = "form-control"}) 

Essaye ça

  @Html.DropDownList("Id", null, new { @class = "ct-js-select ct-select-lg" }) 

Vous pouvez simplement faire ceci:

 @Html.DropDownList("PriorityID", null, new { @class="form-control"})