Url 带有特殊字符的查询字符串

Url 带有特殊字符的查询字符串,url,asp-classic,query-string,encode,Url,Asp Classic,Query String,Encode,如何传递带有特殊字符的查询字符串 例如,我需要在查询字符串中传递“&”,如下所示: ../solrresults.asp?mode=search&data=M & S 使用: URLEncode按如下方式转换字符: 空格()转换为加号(+)。 非字母数字字符将转义为其十六进制表示形式 这样使用它 <a href="page2.asp?name=<%= Server.URLEncode(sName) %>">here</a> 在您的评论之后,

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

例如,我需要在查询字符串中传递“&”,如下所示:

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

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

这样使用它

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

在您的评论之后,这里有一个使用各种脚本语言的解决方案:

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

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

参考资料:

如前所述,这将是一条路要走

不久前我写过

一个示例用法是:

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编码,该类会在内部为您处理此问题。

您是否尝试过
HttpUtility.UrlEncode()
对于经典ASP,您可以使用
Server.UrlEncode()
函数…Server.UrlEncode()适用于大多数特殊字符。对于“%”它不工作我的代码在经典ASP中,所以我想在ASP中看到一种方式我的代码在经典ASP中,所以我想在ASP中看到一种方式我的代码在经典ASP中,所以我想在ASP中看到一种方式