我正在將我們的網站從蹩腳的CMS轉移到一個不錯的自定義編碼MVC網站的過程中。一切都順利到目前爲止,但我有一些路由問題。ASP.NET MVC 2.0簡單路由問題
我公司發出了很多營銷電子郵件和信件。在這些我們有用戶去着陸頁,所以我們可以跟蹤活動的做法,以及提供更多的信息。所以在一封信中,它會說「訪問www.OurSite.com/LandingPage」。 但是,在MVC中,默認情況下所有頁面都放置在其控制器的文件夾中。
所以說我有一個在我家的控制器稱爲LP頁,所以網址是www.OurSite.com/Home/LP
我需要的是使它成爲www.OurSite.com/LP像之前,所以我們目前運行的市場營銷活動不會在我們啓動新網站後提供404。此外,輸入更好,所以我們不想繼續使用它。在此基礎上默認路由
:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
我試着創造一些這樣的:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"LandingPage",
"{action}/{id}",
new { controller = "Home", action = "LandingPage", id = UrlParameter.Optional }
);
}
但它不解決我的問題。
我已經做了一些Google搜索,這一切都非常複雜的路由,並沒有真正適用。我對製作這種超級動態或任何東西並不感興趣。每次運行廣告系列時,我都沒有問題製作新路線。
我也應該注意到,並不是所有這些頁面都會在主控制器中。所以只是有一個路線刪除不起作用。我們的登陸頁面有很多控制器。
這工作d。非常感謝你。然而,我確實需要改變控制器來說回傳視圖(「CPA2010」);.當我確實返回查看(「〜/ Views/Home/CPA2010.aspx」);我收到一個錯誤,表示不允許。謝謝! – 2010-07-22 17:13:35