Asp.net mvc 在子域中运行ASP.NET MVC会使Html.ActionLink呈现断开的链接

Asp.net mvc 在子域中运行ASP.NET MVC会使Html.ActionLink呈现断开的链接,asp.net-mvc,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc Routing,我正在子域中运行MVC 指向我的webhost4life帐户上的/Test目录 Html.ActionLink("About", "About", "Home") 它呈现一个指向的链接 --这是404 链接应该是 是否有方法覆盖ActionLink以忽略渲染时的/Test 多谢各位 实验1 我在表中添加了一条路径,如下所示 routes.MapRoute( "Test", // Route name "Test/{controller}/{action}/{id}",

我正在子域中运行MVC
指向我的webhost4life帐户上的/Test目录

Html.ActionLink("About", "About", "Home")
它呈现一个指向的链接

--这是404

链接应该是

是否有方法覆盖ActionLink以忽略渲染时的/Test

多谢各位


实验1

我在表中添加了一条路径,如下所示

routes.MapRoute(
     "Test",  // Route name
     "Test/{controller}/{action}/{id}",  // URL with parameters
     new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
);
现在动作链接呈现如下链接。。 单击此按钮时,它不会给出404,但会向主控器提供有关操作的信息

结果


没有断开的链接,但该站点呈现丑陋的URL。

对于使用大量子域的站点,我使用了来自ITCloud的一个漂亮的MVC扩展,名为UrlRouteAttribute。它允许您将路由分配给每个操作,作为设置路径和名称的属性。我已经扩展了它以允许完全限定路径-因此包括控制器应该连接到的域/子域。如果这是您感兴趣的内容,我将在某处上传一份。

它应该已经按照您想要的方式工作了。但显然不是。。。我怀疑您的描述中缺少什么。应用程序的根文件夹是什么?它似乎位于根目录中,而不是您的子文件夹中。文件将复制到/Test目录。在webhost4life iis管理控制台中,/Test文件夹被设置为应用程序目录,/Test文件夹也被设置为虚拟目录(设置为应用程序目录时会自动发生这种情况)。在subdomain pointing manager中,subdomian test.domain.com指向/test thanksIt,这对于创建路由来说非常简单。我在这里看了看,它看起来不错,如果你有一个样本,你可以张贴我很乐意看到它。