无法识别MVC控制器动作的编码URL

时间:2014-03-08 16:16:08

标签: asp.net asp.net-mvc urlencode

我有一个文件和文件夹的树视图,每个树节点都配置为将节点文本和值发送到控制器,以重定向并显示文件列表(如果是文件夹)或显示内容(如果是文件)。值通常是点击的文件夹或文件的URL。

在web.config中设置双重转义

问题:如果文件的编码网址具有多个%252f字符,则无法将其识别为查询字符串参数。enter code here

Worked Url:http:// [host] /Admin/Files/CSS/Content%252ftest.css

网址失败:http:// [host] /Admin/Files/CSS/Content%252fStyles%252ftest.css

    [ValidateInput(false)]
            public ActionResult EditBrowsableFile(string groupName, string fileName)
            {
                if (groupName != null && fileName != null)
                {
                    var content = FileService.GetFileContent(Server.MapPath("~/" + System.Web.HttpUtility.UrlDecode(fileName)));
                    ViewData["SelectedFile"] = new FileBrowser() { FilePath = fileName, GroupName = groupName, FileContent = content }; ;
                }
                return View("BrowsableFiles");
            }

<security>
        <requestFiltering allowDoubleEscaping="true"/>
    </security>

0 个答案:

没有答案