如何传递带有特殊字符的查询字符串?
例如,我需要通过"&"在我的查询字符串中,如下所示:
../solrresults.asp?mode=search&data=M & S
答案 0 :(得分:6)
URLEncode按如下方式转换字符: Spaces()转换为加号(+)。 非字母数字字符转义为十六进制表示。
以这种方式使用;
<a href="page2.asp?name=<%= Server.URLEncode(sName) %>">here</a>
答案 1 :(得分:-1)
在您发表评论之后,以下是各种脚本语言的解决方案:
每种脚本语言都有不同的版本。以下是w3schools的参考资料:
在JavaScript中,您可以使用encodeURI()函数。 PHP有 rawurlencode()函数和ASP具有Server.URLEncode()函数。
答案 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编码,该类在内部为您处理。