2009-07-30 5 views
26

J'ai une valeur semblable à une chaîne querystring dans une chaîne simple. J'ai commencé à séparer la ficelle pour en tirer de la valeur, mais j'ai commencé à me demander si je pouvais écrire cela en une ligne. Pourriez-vous s'il vous plaît avis s'il y a une manière plus optimale de faire ceci? J'essaie de lire "123" et "abc" comme dans Request.QueryString mais à partir de la chaîne normale.Méthode la plus optimale pour analyser la chaîne querystring au sein d'une chaîne en C#

protected void Page_Load(object sender, EventArgs e) 
{ 
    string qs = "id=123&xx=abc"; 
    string[] urlInfo = qs.Split('&'); 
    string id = urlInfo[urlInfo.Length - 2]; 
    Response.Write(id.ToString()); 

} 

Répondre

57

Vous pouvez le faire de cette façon:

using System.Collections.Specialized; 

NameValueCollection query = HttpUtility.ParseQueryString(queryString); 
Response.Write(query["id"]); 

Hope it helps.

27

Regardez HttpUtility.ParseQueryString. Ne réinventez pas la roue.

+0

Je savais qu'il devait y avoir une meilleure façon de faire cela. Je regardais juste du mauvais endroit. Merci! – jpkeisala

+0

@ jpkeisala- C'est la joie d'un grand cadre. Il est parfois difficile de trouver la bonne classe. – RichardOD

Questions connexes