2010-03-26 14 views

Répondre

5

Je vous recommande de garder vos URL aussi propres que possible et d'essayer d'utiliser les routes autant que possible. Vous devriez essayer de créer des URI RESTful qui transmettront des informations à l'utilisateur. Par exemple:

www.yourdomain.com/Products/Sports/Clothing 

est beaucoup plus propre que

www.yourdomain.com/Products?Department=Sports&SubDepartment=Clothing 

Si vous utilisez une tonne de chaînes de requête, alors il ne sera pas un URI propre et moins les informations sont transmises à l'utilisateur. Cela dit, notre équipe utilise des chaînes de requête pour les requêtes de type ajax en utilisant jquery. C'est parce que ces URI sont dans notre balisage et ne seront pas vus dans la fenêtre du navigateur. Cela a permis de garder notre global.asax un peu plus petit car il ne sera pas pollué avec une tonne de routes.

+0

Bon conseil dans l'ensemble. –

3

Lors de mon projet, nous utilisons uniquement des chaînes query pour les valeurs facultatives. Thats principalement des listes de filtrage, de tri et de pagination. Les valeurs optionnelles sont difficiles à gérer dans un itinéraire.

Il est beaucoup plus difficile de maintenir une chaîne de requête dans l'URL. Ils ne sont pas rendus lors de l'utilisation d'ActionLink et d'autres aides prenant en charge le routage.

+0

Je peux comprendre "Les valeurs optionnelles sont difficiles à gérer dans un itinéraire". Pouvez-vous être plus clair sur cette phrase. – Adrian

+1

L'URL aura la valeur facultative dans le chemin. Disons que vous avez des valeurs facultatives "OrderBy" et "FilterBy". À quoi cela ressemblerait-il sur le chemin? Peut-être que quelque chose comme/mycontroller/myaction/orderbyprice/filterby est disponible. Si OrderBy n'est pas présent votre chemin deviendrait/mycontroller/myaction/{une valeur mappée à null}/filterbyisavailable. C'est ok si vous avez des valeurs optionnelles à la fin de la route. –