目前我有 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" } 这可能是不同的,因为这些问题都没有。
任何建议表示赞赏。谢谢。