PDA

View Full Version : دریافت مقدار یک کوئری استرینگ از یک آدرس اینترنتی در برنامه ویندوزی



sara_aryanfar
دوشنبه 20 بهمن 1393, 20:31 عصر
با سلام با فرض داشتن یک آدرس اینترنتی به شکل http://mysite.com/show.aspx?id=456&ref=60&cod=14

چطوری می تونیم مقدار id رو داشته باشیم البته مشخصا نمی خواهم از regex استفاده کنم و برام سوال هست که مثل وب میشه این مقدار رو دریافت کرد یا نه ممنونم

alireza_s_84
سه شنبه 21 بهمن 1393, 01:39 صبح
با سلام با فرض داشتن یک آدرس اینترنتی به شکل http://mysite.com/show.aspx?id=456&ref=60&cod=14

چطوری می تونیم مقدار id رو داشته باشیم البته مشخصا نمی خواهم از regex استفاده کنم و برام سوال هست که مثل وب میشه این مقدار رو دریافت کرد یا نه ممنونم
آدرس مورد نظر رو در قالب Uri دربیارید (از کلاس Uri استفاده کنید) ، سپس میتونید با استفاه از همین کلاس به بخش های مختلف اون از جمله کوئری استرینگها دسترسی داشته باشید:

var uri = new Uri("http://mysite.com/show.aspx?id=456&ref=60&cod=14");
var query = uri.Query.Replace("?", "").Split('&');
NameValueCollection queryParameters = new NameValueCollection();
foreach (string segment in query)
{
string[] parts = segment.Split('=');
if (parts.Length > 0)
{
string key = parts[0].Trim(new char[] { '?', ' ' });
string val = parts[1].Trim();


queryParameters.Add(key, val);
}
}


var id = queryParameters["id"];