jkard883
jkard883

Reputation: 11

Get value from Encoded Url

I am trying to get a value from a Encoded URL in C#. So for example, I am trying to get "customerID" from:

  http://<DOMAIN>/default.aspx%3FcustomerID%3D12345%26reference%3D2222

I tried the following:

  string customerID = HttpUtility.UrlDecode(Request.QueryString["customerID"]);

But it comes back NULL. What is the proper way to get this value??

Thanks Jay

Upvotes: 0

Views: 952

Answers (2)

L.B
L.B

Reputation: 116138

string str = " http://DOMAIN/default.aspx%3FcustomerID%3D12345%26reference%3D2222";

var url = HttpUtility.UrlDecode(str);
var parameters = HttpUtility.ParseQueryString(new Uri(url).Query);
var id = parameters["customerID"];

Upvotes: 1

AndrewBoudreau
AndrewBoudreau

Reputation: 128

your application should be encoding the ? and = signs. The Request variables are setup by iis usually before the information is handed off to the application handling the request. You need to send the should encode values but not the entire url. If your url looked like, ?customerID=1234 I imagine it would work, the problem is not with your code but with how the url is being constructed.

Upvotes: 0

Related Questions