2009-07-30 4 views
26

Mam taką samą wartość zapytania w zwykłym łańcuchu znaków. Zacząłem dzielić ciąg, aby uzyskać wartość, ale zacząłem się zastanawiać, czy mogę to zapisać w jednej linii. Czy możesz doradzić, czy jest na to bardziej optymalny sposób?Najbardziej optymalny sposób analizy składni querystringu w ciągu znaków w C#

Próbuję odczytać "123" i "abc" jak w Request.QueryString, ale z normalnego łańcucha.

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

} 

Odpowiedz

57

Można zrobić to w ten sposób:

using System.Collections.Specialized; 

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

nadzieję, że to pomaga.

27

Spójrz na HttpUtility.ParseQueryString. Nie wymyślaj ponownie koła.

+0

Wiedziałem, że musi być lepszy sposób na zrobienie tego. Właśnie szukałem z niewłaściwego miejsca. Dzięki! – jpkeisala

+0

@ jpkeisala- To radość z dużej ramy. Czasami trudno jest znaleźć odpowiednią klasę. – RichardOD

Powiązane problemy