2010-02-26 7 views
2

J'utilise ASP.Net 3.5 SP1 "System.Web.Routing" pour activer le routage d'URL dans mon application WebForm. Maintenant, ce que je avais besoin est de passer des paramètres QueryString par exemple:Paramètres ASP.NET System.Web.Routing et Querystring

http://www.mydomain.com/Search/Books/Computers?sort=author&pagesize=10

Ceci est la route que je suis en utilisant:

 routes.Add("BooksSearch", new Route 
     (
      "Search/{Category}/{Product}", 
      new CustomRouteHandler("~/Search.aspx") 
     )); 

Route fonctionne bien comme il est redirigé vers Search.aspx mais dans querystring je ne peux pas trouver de paramètres supplémentaires par exemple & pageize.

+0

je suis toujours pas trouver un moyen de le faire fonctionner .. des pointeurs ????? –

Répondre

2

Vous n'avez pas besoin de les ajouter à votre itinéraire, car ils seront traités normalement.

Les paramètres sont à l'intérieur de votre collection Request.Params et à l'intérieur de votre collection Request.QueryString.

+0

Request.Params ["sort"] et Request.QueryString ["sort"] tous deux retournent null. Je pense que c'est parce que CustomRouteHandler initialise dynamiquement la page cible sans aucun paramètre QueryString. –

+0

De votre acceptation, je suppose que vous avez trouvé vos paramètres manquants. – AxelEckenberger

3

Utilisez S'il vous plaît

Page.RouteData.Values ​​[ "ID"]

au lieu de

Request.QueryString [ "ID"]

Merci

Questions connexes