2009-07-30 28 views
26

Ben düz bir dizede bir sorgu dizesi hem değerini belirledik bir dize içinde sorgu dizesi ayrıştırmak için. Değer almak için dizgiyi bölmeye başladım ama bunu bir satırda yazabildiğimi merak etmeye başladım. Bunu yapmanın daha uygun bir yolu varsa lütfen öneride bulunabilir misiniz? En iyi yol C#

Ben Request.QueryString içinde fakat normal dizesinden gibi "123" ve "abc" okumaya çalışıyorum.

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

} 

cevap

57

Sen bu şekilde yapabilirsiniz:

using System.Collections.Specialized; 

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

yardımcı olur Umut.

27

HttpUtility.ParseQueryString'a bakın. Tekerleği yeniden keşfetme.

+0

Bunu yapmanın daha iyi bir yolu olması gerektiğini biliyordum. Sadece yanlış yerlerden bakıyordum. Teşekkürler! – jpkeisala

+0

@ jpkeisala- Bu büyük bir çerçevenin sevinci. Doğru sınıfı bulmak bazen zor. – RichardOD

İlgili konular