【发布时间】:2012-05-21 13:27:24
【问题描述】:
如何使用带有点的静态 url 指定路由。
routes.MapRoute( "RouteForContentFolder", // Route name
"Content/PDF/ABC.pdf", // URL with parameters
new { controller = "User", action = "GetPdf"}// Parameter defaults
);
如果我指定这条路线,它会直接打开 PDF 文件,而无需通过控制器和操作。
我猜 ABC.pdf 中的点是问题所在。
谁能告诉我如何指定点 '.'在静态网址中。
我希望这条路由只有在传入的 url 是
时才起作用http://www.domainname.com/Content/PDF/ABC.pdf
提前致谢。
【问题讨论】:
-
更糟糕的情况是,您将 ABC.Pdf 作为 PDF 路由的参数并在您的控制器方法中验证它..
-
你是说你有一个静态文件“/content/pdf/abc.pdf”?如果是这样,物理文件将在 .NET 尝试将您的请求与已知路由匹配之前首先提供服务。重命名或移动您的 PDF 文件,该路径将起作用。
-
这个URL的目的是什么,要通过Controller后打开文件吗?
标签: asp.net-mvc-3 asp.net-mvc-routing