我已經在web上部署了mvc3應用程序。如何在Url.Action()方法中添加虛擬目錄名稱?在子目錄中託管的mvc3應用程序的Url.Action
用於例如:我的應用程序是在mydomain.com \ APP
現在,當我做
Url.Action回報行動= 「/首頁/新建」,但我想是行動=「/ app/Home/Create」。
應該做什麼?
我已經在web上部署了mvc3應用程序。如何在Url.Action()方法中添加虛擬目錄名稱?在子目錄中託管的mvc3應用程序的Url.Action
用於例如:我的應用程序是在mydomain.com \ APP
現在,當我做
Url.Action回報行動= 「/首頁/新建」,但我想是行動=「/ app/Home/Create」。
應該做什麼?
你不應該那樣做。如果您的應用程序在虛擬目錄(如App
)中正確部署在IIS中,則Url.Action("Create", "Home")
幫助程序將生成/app/home/Create
,這是正確的URL。
地圖的路線(注意:這條路線已經出現的默認路由前)
context.MapRoute(
name: "app",
url: "app/{controller}/{action}/{id}",
defaults: new { controller = "Test", action = "Index", id = UrlParameter.Optional }
);
然後使用Url.Action像這樣的(應該給你/應用):
@Url.Action("Index", "Test")
你可以在你的Global.asax.cs文件中找到路由。
看來你想要做的是創建一個區域。 MVC支持使用Area來進一步組織應用程序中的控制器和操作。
請參閱此MSDN arcticle更多信息:http://msdn.microsoft.com/en-us/library/ee671793(v=vs.100).aspx
最後我使用Url.Content(「〜/主頁/創建」),它返回整個URL是否託管在主或子目錄。
我第二次,我在虛擬目錄中託管多個應用程序,從來沒有這個問題。 – Beyers 2013-02-21 14:35:37
謝謝...這工作 – 2013-02-22 05:07:11