Url.Les paramètres de l'Action?
Dans la liste contrôleur que j'ai,
public ActionResult GetByList(string name, string contact)
{
var NameCollection = Service.GetByName(name);
var ContactCollection = Service.GetByContact(contact);
return View(new ListViewModel(NameCollection ,ContactCollection));
}
Dans la page ASPX je l'appelle,
<a href="<%:Url.Action("GetByList","Listing" , new {name= "John"} , new {contact="calgary, vancouver"})%>"><span>People</span></a>
J'ai un problème dans le code ASPX... je peux tirer les enregistrements pour le nom de jean. mais quand je donne le contact="à calgary, à vancouver", le site va à l'erreur.
Comment puis-je appeler deux paramètres dans l'Url.D'Action. J'ai essayé de le ci-dessous, mais qui semble mal aussi.
<a href="<%:Url.Action("GetByList","Listing" , new {name= "John" , contact= " calgary, vancouver" })%>"><span>People</span></a>
Vous devez vous connecter pour publier un commentaire.
Suivantes est correcte surcharge (dans votre exemple, il vous manque une fermeture
}
à larouteValues
objet anonyme de sorte que votre code va lever une exception):En supposant que vous utilisez les routes par défaut, cela devrait générer la balise suivante:
qui va réussir à invoquer la
GetByList
contrôleur de l'action de passer les deux paramètres:Cela fonctionne pour MVC 5:
vous pouvez renvoie une collection privée nommée HttpValueCollection même que la documentation dit que c'est une NameValueCollection à l'aide de la ParseQueryString utilitaire.
Puis ajouter les clés manuellement, HttpValueCollection l'encodage pour vous.
Et puis juste ajouter la chaîne de Requête à la main :