如何编码URL块

时间:2011-05-05 12:31:30

标签: asp.net asp.net-mvc url-encoding

我正在开发一个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
    };
}

我想对存储库中的任何“危险”字符,路径或浏览名称进行编码。

0 个答案:

没有答案