Question

Essayer de créer une liste de sélection avec un premier texte d'option sur une chaîne vide. En tant que source de données que j'ai une liste d'une classe GenericKeyValue propriétés « Key » et « Value ». Mon code actuel est le suivant.

                <%= this.Select(x => x.State).Options(ViewData[Constants.StateCountry.STATES] as IList<GenericKeyValue>, "Value", "Key").Selected(Model.State) %>

se remplit la liste de sélection avec les Etats, mais je ne suis pas sûr à ce point d'une manière élégante d'obtenir un premier texte de l'option de chaîne vide.

Était-ce utile?

La solution

« Essayer de créer une liste de sélection avec un premier texte d'option sur une chaîne vide. » La méthode standard ne parle pas couramment, mais se sent comme moins de travail:

ViewData[Constants.StateCountry.STATES] = SelectList(myList, "Key", "Value");

dans le contrôleur et dans la vue:

<%= Html.DropDownList(Constants.StateCountry.STATES, "")%>

Autres conseils

Bien sûr, vous pouvez, mais vous l'ajoutez à votre liste que vous liez à la liste déroulante ...

List<State> list = _coreSqlRep.GetStateCollection().OrderBy(x => x.StateName).ToList();
list.Insert(0, new State { Code = "Select", Id = 0 });
ViewData["States"] = new SelectList(list, "Id", "StateName", index);

Ou cette ...

Votre point de vue;

<%=Html.DropDownList("selectedState", Model.States)%>

Votre contrôleur;

public class MyFormViewModel
{
    public SelectList States;
}

public ActionResult Index()
{
   MyFormViewModel fvm = new MyFormViewModel();
   fvm.States = new SelectList(Enumerations.EnumToList<Enumerations.AustralianStates>(), "Value", "Key", "vic");

   return(fvm);
}

Sans étendre quoi que ce soit -. Vous ne pouvez

Voici ce que l'auteur dit:

  

Un dernier point. L'objectif de MvcFluentHtml était de laisser les avis pour vous. Nous avons fait cela en vous permettant de définir vos propres comportements. Cependant, ce n'est pas sans avis sur les pratiques. Par exemple l'objet Select n'a pas la fonctionnalité « première option ». En effet, à mon avis, l'ajout d'options à sélectionner n'est pas un problème de vue.

Edit: D'autre part - il y a méthode « FirstOption » Sélectionnez dans le nouveau code source
. Télécharger MvcContrib via svn, construire et utiliser.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top