获取mvc 4中通用处理程序的相对路径

时间:2016-01-27 06:48:49

标签: c# asp.net ajax asp.net-mvc asp.net-mvc-4

我遇到了与通用处理程序(.ashx)的路径相关的奇怪情况。

正在向处理程序发布Ajax帖子。 (注意:我没有在Handler之前申请)

ajaxCallUrl: "Handler/RequestHandler.ashx"

在iis中托管虚拟目录后,url需要像

一样进行更改
ajaxCallUrl: "App/Handler/RequestHandler.ashx"

我尝试使用VirtualPathUtility.ToAbsolute(“〜/ Handler / RequestHandler.ashx”)

我也看到了解决方案here (与我的相关)显示从Action Link获取网址但是如何处理Handler?

请建议任何解决方案

1 个答案:

答案 0 :(得分:2)

如果您想获得正确的路径,无论您当前所在的虚拟目录是什么,您都可以使用UrlHelper.Content帮助程序方法来获取正确的路径:

"@Url.Content("~/Handler/RequestHandler.ashx")"

路径中的~/将使其成为相对于应用程序的路径。