81 votes

ASP.NET MVC - Obtention des valeurs QueryString

Sous ASP.NET MVC, êtes-vous censé récupérer les paramètres QueryString de la même manière que dans ASP.NET WebForms? ou la déclaration [AcceptVerbs (HttpVerbs.Get)] est-elle utilisée d'une manière ou d'une autre?

133voto

Marc Gravell Points 482669

Les paramètres de chaîne de requête peuvent être acceptés simplement en utilisant un argument sur l'action - c'est-à-dire

 public ActionResult Foo(string someValue, int someOtherValue) {...}
 

qui acceptera une requête du type ... / someroute? someValue = abc & someOtherValue = 123

En dehors de cela, vous pouvez consulter la demande directement pour plus de contrôle.

26voto

Mehrdad Afshari Points 204872

Vous pouvez toujours utiliser la collection Request.QueryString comme des formulaires Web, mais vous pouvez également demander à MVC de les gérer et de les transmettre en tant que paramètres. C’est la méthode suggérée, car c’est plus facile et elle valide automatiquement le type de données en entrée.

8voto

tvanfosson Points 268301

Je recommande d'utiliser la propriété ValueProvider du contrôleur, de la même manière que le fait UpdateModel / TryUpdateModel pour extraire les paramètres de route, de requête et de formulaire requis. Cela empêchera vos signatures de méthodes de devenir potentiellement très volumineuses et sujettes à de fréquents changements. Cela facilite également les tests car vous pouvez fournir un contrôleur ValueProvider au contrôleur lors des tests unitaires.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X