2009-07-30 14 views
26

Tengo un valor similar de querystring en una cadena simple. Empecé a dividir cadenas para obtener valor, pero empecé a preguntarme si podría escribir esto en una sola línea. ¿Podría aconsejar si hay una manera más óptima de hacer esto?La manera más óptima de analizar la cadena de consulta dentro de una cadena en C#

Estoy tratando de leer "123" y "abc" como en Request.QueryString pero desde una cadena normal.

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()); 

} 

Respuesta

57

Puede hacerlo de esta manera:

using System.Collections.Specialized; 

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

espero que ayude.

27

Mire HttpUtility.ParseQueryString. No reinventar la rueda.

+0

Sabía que tenía que haber una mejor manera de hacerlo. Solo estaba mirando desde el lugar equivocado. ¡Gracias! – jpkeisala

+0

@ jpkeisala- Esa es la alegría de un marco grande. A veces es difícil encontrar la clase correcta. – RichardOD

Cuestiones relacionadas