2010-04-13 2 views
0

J'ai une page de recherche sur mon site MVC qui contient une liste de chaînes que l'utilisateur pourrait souhaiter rechercher dans ma base de données. Cette liste de chaînes est disponible dans ma classe de modèle, donc je peux remplir un Html.ListBox avec ces chaînes ainsi:Comment lire les éléments sélectionnés dans un Html.ListBox à l'heure de publication

<%=Html.ListBox("SearchStrings", new SelectList(Model.SearchStrings)) %> 

Mon problème est, comment puis-je savoir quelles chaînes l'utilisateur sélectionné dans cette liste dans mon postback action?

Toute aide serait grandement appréciée.

Répondre

0

On ne sait pas quel est votre type de modèle, mais voici un exemple avec un modèle simple:

<%= Html.ListBox(
    "SearchStrings", 
    new SelectList(
     Enumerable.Range(1, 5).Select(i => new { 
      Id = i, Text = "text " + i 
     }), 
     "Id", "Text" 
    ) 
) %> 

Cela indique que la propriété Id sera utilisée comme valeur et la propriété Text comme le texte de la liste. Lorsque vous soumettez le formulaire que vous pourriez avoir la méthode d'action suivante:

[HttpPost] 
public ActionResult Index(string[] searchStrings) 
{ 
    return View(); 
} 

Dans cette action le tableau searchStrings sera rempli avec les valeurs des chaînes sélectionnées.

+0

Merci. La chose qui me manquait était que j'avais besoin de déclarer le paramètre d'action en tant que tableau de chaînes. –