2009-03-14 7 views
1

Asp.net s'est avéré être beaucoup plus facile à utiliser que PHP (jusqu'à présent). Cependant, j'ai cherché pendant un certain temps et ne peux tout simplement pas comprendre cela. Comment puis-je obtenir les variables qui sont contenues dans l'URL de ma page (qui proviennent d'un formulaire qui avait la méthode "GET") et les utiliser?Comment puis-je accéder aux variables à partir d'URL provenant de la méthode GET dans ASP.net?

Par exemple, ma page serait www.example.com/index.asp?somevariable=something

Comment pourrais-je obtenir la valeur de somevariable?

Répondre

3

Vous pouvez utiliser ce que Ybo a déclaré, mais ce n'est pas complète (pour VB au moins). Cela seul pourrait laisser une exception de référence nulle étant levée. Vous voulez lancer (c.-à-TryParse) les valeurs et gérer les paramètres vides que votre devraient contenir une valeur:

Dim itemId As Integer 
Dim itemType as String 

If Not Integer.TryParse(Request.QueryString("i").ToString, itemId) Then 
    itemId = -1 ' Or whatever your default value is 
Else 
    ' Else not required. Variable itemId contains the value when Integer.TryParse returns True. 
End If 

itemType = Request.QueryString("t").ToString ' <-- ToString important here! 
+0

merci. J'avais quelques problèmes pour implémenter la chaîne de requête. J'ai laissé le .ToString – user78071

+0

Salut. TryParse n'est pas une distribution, c'est une conversion. Essayer d'appeler ToString sur Request.QueryString ("xxx") est une mauvaise idée car * that * pourrait conduire à une exception de référence nulle. Utiliser la classe Convert est un meilleur choix. – ybo

+0

Request.QueryString ("quelquechose"). ToString renvoie une chaîne vide lorsque le paramètre n'a pas de valeur. Si le paramètre n'existe pas du tout, vous VOULEZ une exception levée, car il s'agit probablement d'un bogue dans le code, où un paramètre manquant ne doit pas nécessairement signifier un bogue. – HardCode

2

Il est aussi simple que:

Request.QueryString["somevariable"]; // C# 
Request.QueryString("somevariable") ' VB 
+0

Merci pour cela. Honnêtement, je ne sais pas comment j'ai raté ça. – user78071

0

Ceci est pour ASPX C#:

NameValueCollection pColl = Request.Params; 
if (pColl["somevariable"] != null) 
{ 
    string yourvalue = pColl["somevariable"]; 
} 
+0

Merci aussi – user78071

0

Tout cadre HTTP décent ou d'une bibliothèque ou un morceau de logiciel, script/natif/managed/mis en déroute, peut cuisiner/décomposer/casser les composants d'URL pour vous.

Request.QueryString est une ancienne façon d'y faire face. Recherchez les mécanismes du modèle Uri ou les nouveaux bits MVC. Vous en aurez besoin tôt ou tard.

0
NameValueCollection col1 = Request.Query; 
name=col1.GetValues("somevariable")[0].ToString(); 
Questions connexes