Эта ссылка может помочь вам ...
http://dhanushkaat.blogspot.in/2012/01/only-encode-url-special-characters-in.html
<час /> <час />
Редактировать: Я добавил содержание по ссылке ниже:
Когда дело доходит до кодирования специальных символов со ссылкой на URL, мы можем легко использовать функции, которые были определены в сборке System.Web.dll.
Хотя это наиболее простой и удобный способ кодирования строки для обеспечения ее совместимости в контексте HTTP, в некоторых случаях мы не получаем эту привилегию автоматически (например, не веб-приложения).
Я столкнулся с таким сценарием, когда разрабатывал пользовательскую функцию SQL Server из VS 2010.
Особая проблема в этом случае заключалась в том, что при добавлении ссылки на сборку в проекте SQL CLR ссылка извлекается из GAC на сервере базы данных.
Microsoft добавила набор сборок, которые они определили как безопасные сборки, на которые должна ссылаться функция T-SQL, в GAC, что дает нам возможность использовать функциональные возможности, определенные в этих классах. Но, к сожалению, System.Web.dll не является одним из них.
Итак, каков будет обходной путь, еще одну функцию, которую мы можем использовать для кодирования URL, можно найти в пространстве имен System.Uri, которое, к счастью, находится внутри System.dll.
ОК, так как использовать его только для кодирования специальных символов URL!
Просто используйте силу «Регулярных выражений».
Вот функция, которую я написал.
private static string EncodeUrl(string toEncode)
{
const string pattern = "[$&+,/:;=?@]";
var match = Regex.Match(toEncode, pattern);
while(match.Success)
{
toEncode = toEncode.Replace(match.Value, Uri.EscapeDataString(match.Value));
match = Regex.Match(toEncode, pattern);
}
return toEncode;
}
Функция несколько раз проверяет переданную строку, пока все специальные символы не будут заменены соответствующими кодированными значениями.
Сочетание функций Regex.Match и string Replace обеспечивает замену только тех символов, которые определены в шаблоне регулярного выражения.