public string UrlPathEncode (string s)
{
if (s == null)
return null;
int idx = s.IndexOf ('?');
string s2 = null;
if (idx != -1) {
s2 = s.Substring (0, idx);
s2 = HttpUtility.UrlEncode (s2) + s.Substring (idx);
} else {
s2 = HttpUtility.UrlEncode (s);
}
return s2;
}