Usted necesita para codificar los parámetros de consulta antes de combinarlos para formar una url. La función se necesita aquí es encodeURIComponent .Por ejemplo,
la url es necesario crear es:
http://localhost/mysite/mypage?param=a=?&b=/
Ahora, suponiendo que? y/como variables, debe codificarlas antes de ingresar la url. por lo que permite crear su URL utilizando esta función (estoy esperando dos parámetros de consulta):
var q1 = "a=?"; //came from some input or something
var q2 = "/"; //came from somewhere else
var faultyUrl = "http://localhost/mysite/mypage?param="+ q1 +"&b=" + q2;
// "http://localhost/mysite/mypage?param=a=?&b=/"
var properUrl = "http://localhost/mysite/mypage?param="+ encodeURIComponent(q1) +"&b=" + encodeURIComponent(q2);
//"http://localhost/mysite/mypage?param=a%3D%3F&b=%2F"
Esta función está en JS básica y apoyado en todos los navegadores.
en .Net, quiere usar 'HttpUtility.UrlEncode' https://msdn.microsoft.com/en-us/library/system.web.httputility.urlencode(v=vs.110).aspx – GJKH