小编Ult*_*ery的帖子

如何在 URL MVC 路由上从问号 (?) 更改为斜线 (/)?

目前我有 pdf 文件可以正确显示在页面上,但 URL 显示为“/Test?id=name.pdf”,我希望它显示为“/Test/name.pdf”。我怎样才能做到这一点?

这是我的代码:

.cshtml

<a class="dropdown-item" href="@Url.Action("Trees", "Park", new { id = "name.pdf" })" target="_blank">Text</a>
Run Code Online (Sandbox Code Playgroud)

控制器

public ActionResult Trees(string id)
{
    string path = Server.MapPath(String.Format("~/folder1/folder2/{0}", id));

    string mime = MimeMapping.GetMimeMapping(path);

    return File(path, mime);
}
Run Code Online (Sandbox Code Playgroud)

路由配置文件

    routes.MapRoute(
        name: "testing",
        url: "Test/{filename}",
        defaults: new { controller = "Park", action = "Trees", filename  = UrlParameter.Optional }
    );
Run Code Online (Sandbox Code Playgroud)

知道我做错了什么吗?我已经检查了这些类似的问题ASP.NET MVC 路由问题 如何摆脱ASP.NET MVC 路由中的问号?但这些解决方案都没有帮助我,也许是因为我有一个 @Url.Action 和 new { id = "name.pdf" } 这可能是不同的,因为这些问题都没有。

任何建议表示赞赏。谢谢。

c# asp.net model-view-controller asp.net-mvc routes

-1
推荐指数
1
解决办法
747
查看次数

标签 统计

asp.net ×1

asp.net-mvc ×1

c# ×1

model-view-controller ×1

routes ×1