public static string EncodeDictionary(Dictionary<string, string> dict)
{
var sb = new StringBuilder();
bool first = true;
foreach (KeyValuePair<string, string> kvp in dict)
{
if (first) first = false;
else sb.Append('&');
sb.Append(HttpUtility.UrlEncode(kvp.Key));
sb.Append('=');
sb.Append(HttpUtility.UrlEncode(kvp.Value));
}
return sb.ToString();
}