5

How do you safely encode a URL using JavaScript such that it can be put into a GET string?

Here is what I am doing in jQuery:

var url = "mynewpage.aspx?id=1234";
$(location).attr('href', url);

And in the ASP.NET page_load, I am reading this:

_string _id = Request.QueryString["id"].ToString();

How can I encode the id in jQuery/JavaScript and decode in ASP.NET (C#)?

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Nick Kahn
  • 19,652
  • 91
  • 275
  • 406
  • 1
    This was answered pretty thoroughly here: http://stackoverflow.com/questions/2500013/c-sharp-alternative-for-javascript-escape-function – Grant H. Apr 20 '12 at 15:06

2 Answers2

10

Use encodeURIComponent(str) in JavaScript for encoding and use HttpUtility.UrlDecode to decode a URL in ASP.NET.

In JavaScript:

var url = "mynewpage.aspx?id="+encodeURIComponent(idvalue);
$(location).attr('href', url);

And in ASP.NET

_string _id = HttpUtility.UrlDecode(Request.QueryString["id"]);
Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Govind Malviya
  • 13,627
  • 17
  • 68
  • 94
2

I've always found this site wonderfully useful for figuring out which encoding I should be using (probably encodeURI or encodeURIComponent). You should be able to find what you want to use there.

I'm not as familiar with the ASP.NET side of things. These guys probably already have a great answer for you.

Community
  • 1
  • 1
veeTrain
  • 2,915
  • 2
  • 26
  • 43