为静态资源 ASP.NET MVC 添加 MapRoute

发布于 2024-12-09 01:48:19 字数 329 浏览 0 评论 0原文

我有一个 pdf 文件,我想为其创建一个路线图。有没有办法让对象默认采用 url 而不是操作控制器组合?

而不是

 routes.MapRoute("MyRouteName", "MyNiceUrl", new { controller = "ControllerName", action = "ActionName" });

有类似的东西

 routes.MapRoute("MyRouteName", "MyNiceUrl", new { relativeUrl="MyrelativeUrl" });

I have a pdf file which I would like to a create a route map for it. Is there a way to make object default take a url in stead of action controller combination?

Instead of

 routes.MapRoute("MyRouteName", "MyNiceUrl", new { controller = "ControllerName", action = "ActionName" });

Have something like

 routes.MapRoute("MyRouteName", "MyNiceUrl", new { relativeUrl="MyrelativeUrl" });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

情泪▽动烟 2024-12-16 01:48:19

您不需要静态资源的路由。您需要 url 帮助程序来引用它们:

<a href="<%= Url.Content("~/Content/test.pdf") %>">Download pdf</a>

如果您想要像 /SomeController/MyNiceUrl 这样的 url 来为您的 pdf 文件提供服务,您可以简单地编写一个控制器操作:

public ActionResult MyNiceUrl()
{
    var pdf = Server.MapPath("~/Content/test.pdf");
    return File(pdf, "application/pdf");
}

然后:

<%= Html.ActionLink("Download pdf", "MyNiceUrl", "SomeController") %>

You don't need routes for static resources. You need url helpers to reference them:

<a href="<%= Url.Content("~/Content/test.pdf") %>">Download pdf</a>

And if you wanted to have an url like /SomeController/MyNiceUrl to serve your pdf file you could simply write a controller action:

public ActionResult MyNiceUrl()
{
    var pdf = Server.MapPath("~/Content/test.pdf");
    return File(pdf, "application/pdf");
}

and then:

<%= Html.ActionLink("Download pdf", "MyNiceUrl", "SomeController") %>
软糯酥胸 2024-12-16 01:48:19

正如这个答案中所示:

使用您的控制器,或创建一个迷你控制器,然后使用重定向ActionResult:

public class MyController : Controller
{
    public ActionResult Pdf()
    {
        return Redirect( Url.Content( "mydoc.pdf" ) );
    }

}

As in this answer:

Use your controller, or create a mini-controller, and then use the Redirect ActionResult:

public class MyController : Controller
{
    public ActionResult Pdf()
    {
        return Redirect( Url.Content( "mydoc.pdf" ) );
    }

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文