2010-06-16 9 views
3

j'ai cette url: http://localhost:49500/Learning/Chapitre.aspx?id=2valeurs se déplacer d'une URL

Comment puis-je obtenir juste la valeur de id dans cette url?

+1

Êtes-vous l'analyse syntaxique URL comme une chaîne, ou êtes-vous le code en cours d'exécution de faire une demande à cette URL? – womp

+0

J'ai une autre page qui redirigent à cette page –

+0

Cela a été demandé et répondu à: http://stackoverflow.com/questions/2884551/get-individual-query-parameters-from-uri – Peter

Répondre

3

Vous pouvez accéder à toutes les chaînes de requête à travers le réseau Request.QueryString():

Request.QueryString("id") vous donnera la 2

+0

Merci, ça marche. –

+0

essayez d'utiliser 'Request.QueryString [" id "]' notez les crochets – WTFZane

0

Créez une instance de classe System.Uri avec l'URL et utilisez la propriété Query pour obtenir la partie de chaîne de requête.

Une fois que vous avez cette chaîne, faites String.Split sur le caractère '&'. Pour chaque chaîne du tableau résultant, faites String.Split sur le caractère '='. Dans le tableau résultant, la première chaîne est le nom du paramètre de la requête, la seconde est la valeur (le cas échéant). Vérifiez si le nom est celui qui vous intéresse et si c'est le cas, obtenez la valeur.

Mise à jour: Boy, je n'ai pas touché VB depuis 1999 ... :-)

Voici le code de ma réponse. Je n'ai pas réalisé que l'Url que vous voulez analyser est la page Url. Dans ce cas précis, Request.QueryString("id") sera en effet une meilleure solution.

Dim url As Uri = New Uri("http://localhost:49500/Learning/Chapitre.aspx?id=2") 
    Dim query As String = url.Query.Trim("?") 
    Dim parameters() As String = query.Split("&") 
    Dim tokens() As String 
    Dim value As String = "" 
    For index As Integer = 0 To parameters.Length - 1 
     tokens = parameters(index).Split("=") 
     If tokens(0).ToLower = "id" Then 
      If tokens.Length = 2 Then 
       value = tokens(1) 
      End If 
      Exit For 
     End If 
    Next 
    ' At this point value contains the parameter value or 
    ' is empty if the parameter has no value or if the parameter is not present 
+0

exemples s'il vous plaît? –

2

Malgré mon propre commentaire disant qu'il a été répondu, voici le code.

Dim idval As String = System.Web.HttpUtility.ParseQueryString("http://localhost:49500/Learning/Chapitre.aspx?id=2")("id") 
+0

Exemple très rapide et bon à utiliser! merci –

Questions connexes