使用特殊字符查询字符串

时间:2012-03-06 06:46:45

标签: url asp-classic query-string encode

如何传递带有特殊字符的查询字符串?

例如,我需要通过"&"在我的查询字符串中,如下所示:

../solrresults.asp?mode=search&data=M & S

3 个答案:

答案 0 :(得分:6)

使用Server.UrlEncode

  

URLEncode按如下方式转换字符:   Spaces()转换为加号(+)。   非字母数字字符转义为十六进制表示。

以这种方式使用;

<a href="page2.asp?name=<%= Server.URLEncode(sName) %>">here</a>

答案 1 :(得分:-1)

在您发表评论之后,以下是各种脚本语言的解决方案:

每种脚本语言都有不同的版本。以下是w3schools的参考资料:

  

在JavaScript中,您可以使用encodeURI()函数。 PHP有   rawurlencode()函数和ASP具有Server.URLEncode()函数。

参考:http://www.w3schools.com/tags/ref_urlencode.asp

答案 2 :(得分:-1)

如前所述,UrlEncode method将成为可能。

前段时间我写了a small class QueryString to simplify the work with those query strings

示例用法是:

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 ... 
}

您可以填写查询字符串类,而不必关心是否对值进行URL编码,该类在内部为您处理。