2011-01-14 3 views
0

J'essaie d'utiliser des chaînes de requête dans ASP.NET. J'ai une exigence du format suivantUtilisation de/dans des chaînes de requête

http://localhost/website/1/?callback=?

ici 1 représente l'ID du profil. Cela signifie que certaines informations de id = 1 seront récupérées via la chaîne

Si cela avait été website/2/?callback=?, alors l'identifiant serait 2. Mes questions sont de savoir comment j'utilise ce /id/ comme une chaîne de requête afin qu'il puisse être utilisé pour récupérer l'identifiant du profil. C'était ma première préférence pour utiliser le format /id/ sinon je pourrais regarder dans la récupération en utilisant deux ?'s

Si l'id = 1, je veux chercher ID = 1 détails de DB sur cette page. http://localhost/website/1/?callback=?

Répondre

0

Dans votre cas, l'ID est dans le chemin, pas la chaîne de requête. Vous pouvez accéder au chemin via Request.Path dans une page ASPX. A partir de là, vous devrez effectuer une analyse de chaîne pour obtenir la partie du chemin où vous attendez que l'ID soit.

Dans votre cas j'utiliserais probablement quelque chose comme int.Parse(Request.Path.Split(new char[] {'/'}, StringSplitOptions.RemoveEmptyEntries)[1]), mais s'il vous plaît noter que j'ai fait cette ligne assez dense par souci de brièveté. Pour commencer, vous devez utiliser int.TryParse() au lieu de int.Parse(). Ce code suppose que l'ID sera toujours au même endroit dans l'URL. Par exemple, cela fonctionnera pour "/ website/2 /" et "/ user/2 /", mais pas pour "/ website/somethingelse/2 /". UriTemplate est peut-être un bon choix pour ce type d'analyse.

Questions connexes