Nếu có một lúc nào đó cần lấy paramater (query string) trong chuỗi URL, hãy nhớ tới bài viết này. He he
C# đã cung cấp một hàm để phân tích các paramater trong URL thành một mảng [name, value].
HttpUtility.ParseQueryString(string query)
Chẳng hạn, ta có URL như sau: http://test.abc?p1=1&p2=2
Từ đây, chúng ta cần lấy phần query phía sau dấu chấm hỏi:
string url = "http://test.abc?p1=1&p2=2";
string query = url.Split('?')[1];
/*--> query = p1=1&p2=2 */
Giờ chỉ việc gọi hàm và lấy giá trị thôi.
NameValueCollection array = HttpUtility.ParseQueryString(query);
string p1 = array.Get("p1");
string p2 = array.Get("p2");
Tóm gọn lại:
public NameValueCollection ExtractParamUrl(string url)
{
if (string.IsNullOrEmpty(url) || url.IndexOf('?') < 0)
return null;
string query = url.Split('?')[1];
return HttpUtility.ParseQueryString(query);
}