C# 具有ApplicationPath的ASP.NET MVC操作

C# 具有ApplicationPath的ASP.NET MVC操作,c#,asp.net,asp.net-mvc,url,routing,C#,Asp.net,Asp.net Mvc,Url,Routing,我正在创建一个mvc应用程序,我将在子域下使用 http://myapp.mycompany.com 此子域指向应用程序子目录,但我的操作始终使用applicationPath(子目录)生成,如: 是否有与此相关的配置? 这是生成链接的正确方法吗 <%= Html.ActionLink("About", "About", "Home") %> 您的子域应该由IIS处理,您的路由应该忽略这一点。就Asp.net MVC应用程序而言,应用程序位于何处以及如何配置IIS实际上并不重要

我正在创建一个mvc应用程序,我将在子域下使用

http://myapp.mycompany.com
此子域指向应用程序子目录,但我的操作始终使用applicationPath(子目录)生成,如:

是否有与此相关的配置? 这是生成链接的正确方法吗

<%= Html.ActionLink("About", "About", "Home") %>

您的子域应该由IIS处理,您的路由应该忽略这一点。就Asp.net MVC应用程序而言,应用程序位于何处以及如何配置IIS实际上并不重要

routes.MapRoute("Default", "{controller}/{action}/{id}", ...);
如果您以编写的方式调用
Html.ActionLink()
,则生成的路径中不应有
myapp

您能从global.asax提供您的路线定义吗?

谢谢您的帮助

默认为My Global.asax,我没有创建自定义路由。见下文:

routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

如果没有做过任何其他事情/使用过任何其他方法,并且您以自己编写的方式创建链接,那么一切都应该很好。我想这一定是IIS配置的问题。
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);