我在子域中运行MVC
http://test.domain.com指向我的webhost4life帐户上的/ Test目录。
Html.ActionLink("About", "About", "Home")
它呈现了
的链接http://test.domain.com/Test/Home/About - 这给出了404
链接应该是..
http://test.domain.com/Home/About
有没有办法覆盖ActionLink以省略渲染上的/ Test?
谢谢
实验1
我添加了一张到这张桌子的路线......
routes.MapRoute(
"Test", // Route name
"Test/{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
现在动作链接呈现这样的链接.. http://test.domain.com/Test/Test/Home/About/ 单击此按钮时,不会提供404,但会提供主页控制器关于操作。
结果
不再有破损的链接,但该网站会呈现丑陋的网址。
答案 0 :(得分:0)
对于使用大量子域的网站,我使用ITCloud中一个名为UrlRouteAttribute的漂亮的MVC扩展。它允许您将路径指定给每个操作,作为设置路径和名称的属性。我已将其扩展为允许完全限定的路径 - 因此要包含控制器应附加到的域/子域。如果这是您感兴趣的东西,我会在某处上传副本。