How I can pass a query string with special characters?
For example I need to pass \"&\" inside my query string as below:
../solrresults.asp?mode=
Use Server.UrlEncode:
URLEncode converts characters as follows: Spaces ( ) are converted to plus signs (+). Non-alphanumeric characters are escaped to their hexadecimal representation.
Use it this way;
<a href="page2.asp?name=<%= Server.URLEncode(sName) %>">here</a>
After your comments, here is a solution in various scripting languages:
There are different versions available for each scripting language. Here is a reference from w3schools:
In JavaScript you can use the encodeURI() function. PHP has the rawurlencode() function and ASP has the Server.URLEncode() function.
Reference: http://www.w3schools.com/tags/ref_urlencode.asp
As stated, the UrlEncode method would be the way to go.
Some time ago I wrote a small class QueryString to simplify the work with those query strings.
An example usage would be:
private void Page_Load(
object sender,
System.EventArgs e )
{
// Let the object fill itself
// with the parameters of the current page.
QueryString qs = new QueryString();
// Read a parameter from the QueryString object.
string value1 = qs["name1"];
// Now remove the parameter.
qs.RemoveParameter( "name1" );
// This has the same effect as RemoveParameter() method:
qs["name1"] = null;
// ... Further processing of the value1 variable ...
}
You can fill the query string class and don't have to care whether to URL-encode the values, the class handles this internally for you.