String.Join返回×而不是时间?

时间:2014-02-07 08:51:33

标签: c# asp.net .net string

这是我的代码:

var signature_parameters = new SortedDictionary<string, string>()
{
    { "client_id", client_id },
    { "timestamp", timestamp },
};

var signature_base_string = string.Join("&", signature_parameters.Select(p => string.Format("{0}={1}", p.Key, p.Value)));
Response.Write(signature_base_string);

打印client_id=2446782×tamp=1291723521

什么是×?

2 个答案:

答案 0 :(得分:11)

您的加入是将文字&times放入正在编码为x的字符串中,因为&timeshtml named special character

答案 1 :(得分:1)

试试这个,

var signature_base_string = string.Join("&amp;", signature_parameters.Select(p => string.Format("{0}={1}", p.Key, p.Value)));

Response.Write(signature_base_string);

或者您可以使用HttpUtility.HtmlEncode将字符串转换为HTML编码的字符串。

var signature_base_string = string.Join("&", signature_parameters.Select(p => string.Format("{0}={1}", p.Key, p.Value)));
Response.Write(HttpUtility.HtmlEncode(signature_base_string));