Varun
Varun

Reputation: 526

Query strings with special characters

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

Answers (3)

Naveed Butt
Naveed Butt

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

Michał Powaga
Michał Powaga

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

Uwe Keim
Uwe Keim

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

Related Questions