Reputation: 526
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=search&data=M & S
Upvotes: 4
Views: 13159
Reputation: 2901
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
Upvotes: -1
Reputation: 23183
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>
Upvotes: 6
Reputation: 40736
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.
Upvotes: -1