Я занимаюсь разработкой приложения ASP.NET MVC и управляю именами файлов в моих URL-путях.Мне нужно кодировать имена файлов URL, чтобы избежать ошибок в некоторых путях (например, когда используется символ «+», он не работает в режиме Mono / XSP).
Но мне нужно кодировать только имена файловНапример:
Например, с учетом этого ввода:
/dir1/this has spaces/file+name.txt
Мне нужен следующий вывод:
/dir1/this%20has%20spaces/file%2bname.txt
Обратите внимание, что я не хочу кодироватьразделитель пути.Любое предложение?
Заранее спасибо.
РЕДАКТИРОВАТЬ : я создаю свой URL, используя следующее:
<%= Html.ActionLink(
Html.Encode(revision.Name),
"Details",
"Items",
Model.GetRouteParameters(revision.FullPath),
null) %>
ГдеGetRouteParameters имеет следующий вид:
public object GetRouteParameters(string path)
{
return new
{
repository = ItemProvider.GetBrowsingObject().Repository,
path = path,
browsing = ItemProvider.GetBrowsingObject().Name
};
}
Я хотел бы закодировать любой «опасный» символ в хранилище, путь или имена для просмотра.