我正在开发一个ASP.NET MVC应用程序,我正在管理URL路径中的文件名。我需要编码url文件名,以避免某些路径上的错误(例如,当使用字符'+'时,它在Mono / XSP下失败)。
但我只需要编码文件名,例如:
例如,给定此输入:
/dir1/this has spaces/file+name.txt
我需要以下输出:
/dir1/this%20has%20spaces/file%2bname.txt
请注意,我不想对路径分隔符进行编码。有什么建议吗?
提前致谢。
编辑:我正在使用以下内容构建我的网址:
<%= 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
};
}
我想对存储库中的任何“危险”字符,路径或浏览名称进行编码。