2

您好我想构建一个 MVC3 应用程序,它可以处理简单的子域请求。问题在于路由设置,以及在本机 mvc3 Html 扩展(ActionLinks、Url.Content、Html.BeginForm、Ajax.BeginForm)中生成正确路径

所以..我有以下结构:

                   myDomain.com   // HomeController
                        |
Bar.myDomain.com <------|-------> Foo.myDomain.com
// BarController                  // FooController

HomeController映射到myDomain.com ,其路由应如下所示:

myDomain.com                  // myDomain.com/{controller}/{action}  -- with defaults
myDomain.com/Home/Index       // myDomain.com/{controller}/{action}
myDomain.com/Home/Index/Id    // myDomain.com/{controller}/{action}/{id}
myDomain.com/en/Home/Index    // myDomain.com/{language}/{controller}/{action}
myDomain.com/en/Home/Index/Id // myDomain.com/{language}/{controller}/{action}/{id}

BarController使用路由映射到Bar.myDomain.com

Bar.myDomain.com               // {Controller}.myDomain.com/{action}  -- with defaults
Bar.myDomain.com/Index         // {Controller}.myDomain.com/{action}
Bar.myDomain.com/Index/Id      // {Controller}.myDomain.com/{action}/{id}
Bar.myDomain.com/en/Index      // {Controller}.myDomain.com/{language}/{action}
Bar.myDomain.com/en/Index/Id   // {Controller}.myDomain.com/{language}/{action}/{id}

FooController与BarController相同

问题:

子域请求的所有 HtmlHelper 都在生成路径,如下所示:

href="Bar.myDomain.com/en/Bar/Index"
href="Bar.myDomain.com/Bar/Index"

代替:

href="Bar.myDomain.com/en/Index"
href="Bar.myDomain.com/Index"

根据它的路线,在哪里以及如何控制路径。

注 1: AdressBar 中的 URL 生成正常。问题仅在于路径。

注 2:请关注 IIS 7.0 集成管道

注3:我的灵感来源是--->>这里

谢谢!

4

0 回答 0