Beska Beska - 1 month ago 20
C# Question

Get url parameters from a string in .NET

I've got a string in .NET which is actually a url. I want an easy way to get the value from a particular parameter.

Normally, I'd just use

Request.Params["theThingIWant"]
, but this string isn't from the request. I can create a new
Uri
item like so:

Uri myUri = new Uri(TheStringUrlIWantMyValueFrom);


I can use
myUri.Query
to get the query string...but then I apparently have to find some regexy way of splitting it up.

Am I missing something obvious, or is there no built in way to do this short of creating a regex of some kind, etc?

Answer

Use static ParseQueryString method of System.Web.HttpUtility class that returns NameValueCollection.

Uri myUri = new Uri("http://www.example.com?param1=good&param2=bad");
string param1 = HttpUtility.ParseQueryString(myUri.Query).Get("param1");

Check documentation at http://msdn.microsoft.com/en-us/library/ms150046.aspx

Comments