Paramètres Url.Action?

Dans le contrôleur de liste j’ai

public ActionResult GetByList(ssortingng name, ssortingng contact) { var NameCollection = Service.GetByName(name); var ContactCollection = Service.GetByContact(contact); return View(new ListViewModel(NameCollection ,ContactCollection)); } 

Dans ASPX page j’appelle,

  <a href="https://stackoverflow.com/questions/6278694/url-action-parameters/">People 

J’ai un problème dans le code ASPX … Je peux tirer les enregistrements pour le nom john. mais quand je donne le contact = “calgary, vancouver”, la page Web passe à l’erreur.

Comment puis-je appeler deux parameters dans Url.Action. J’ai essayé le ci-dessous mais cela semble faux aussi.

  <a href="https://stackoverflow.com/questions/6278694/url-action-parameters/">People 

Voici la surcharge correcte (dans votre exemple, il manque une fermeture } à l’object anonyme routeValues afin que votre code routeValues une exception):

 "> People  

En supposant que vous utilisez les routes par défaut, cela devrait générer le balisage suivant:

  People  

qui invoquera avec succès l’action du contrôleur GetByList passant les deux parameters:

 public ActionResult GetByList(ssortingng name, ssortingng contact) { ... } 

vous pouvez retourner une collection privée nommée HttpValueCollection, même si la documentation dit que c’est une NameValueCollection à l’aide de l’utilitaire ParseQuerySsortingng. Ajoutez ensuite les clés manuellement, HttpValueCollection fait l’encodage pour vous. Et puis ajoutez simplement le QuerySsortingng manuellement:

 var qs = HttpUtility.ParseQuerySsortingng(""); qs.Add("name", "John") qs.Add("contact", "calgary"); qs.Add("contact", "vancouver") ?< %:qs%>"> People  

Cela fonctionne pour MVC 5:

  Link text