阻止asp.net mvc生成包含子文件夹的URL

时间:2009-01-14 22:53:55

标签: asp.net-mvc

我的网站托管在子文件夹(ApplicationPath)上。我有ISAPI Rewrite从www.domain.com/Subfolder翻译到www.domain.com。问题是asp.net MVC Html.ActionLink()(以及类似的函数)使用www.domain.com/Subfolder生成URLS。我希望能够从URL中删除“/ Subfolder”,因为ISAPI Rewrite将负责使链接正常工作。我该怎么做呢?拜托,我已经尝试了一百万次而没有成功。

4 个答案:

答案 0 :(得分:1)

在路由类中重写GetVirtualPath方法,将其添加“../”到base.GetVirtualPath调用返回的VirtualPathData对象的Url属性的开头。

答案 1 :(得分:0)

我不相信有一种方法可以做到内置于框架中。你必须编写自己的Html助手扩展方法。

答案 2 :(得分:0)

我认为您应该编写自己的Route类,以重写URI。

答案 3 :(得分:0)

重写Route类不起作用,它不处理ApplicationPath。我想我必须覆盖RouteCollection类的GetVirtualPath,但我不知道如何做到这一点。