我正在將具有4級目錄結構的網站轉換爲Visual Studio 2010中的MVC3。我發現的例子有{控制器}/{行動}/{ID}。需要MVC3項目的例子與4節目錄結構與可能的站點地圖使用
思考的目錄結構水平的部分,我需要做的是處理,看起來像這樣的結構: mysite.com/{section1}/{section2}/{section3}/{section4}
索引文件將位於每個部分,按照部分和目錄的介紹進行操作。我預計目前還沒有超出第4部分的任何網頁。
我偏好使用XML站點地圖,並編寫一些代碼塊來處理來自該站點地圖的各種頁面目錄結構。我已經使用WebForms成功完成了這個任務,但是真的想用MVC3來完成。我錯過的大件作品就是一個很好的例子。
現在我甚至不能把它路由到Section2。這是在我的Global.asax中。
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
);
routes.MapRoute("",
"Section1/{controller}/{action}/{id}",
new { controller = "Section1", action = "Index", id = UrlParameter.Optional }
);
}
這是我SECTION1控制器。
public class Section1Controller : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Section2(string id)
{
return View("Section2/" + id);
}
}
我可以成功地導航到SECTION1(即http://localhost:123/section1/)。但是,當我進入第2節(HTTP://本地主機:123/SECTION1 /第2節)時,出現這樣的錯誤:
視圖「第2節/」或它的主人沒有被發現或沒有視圖發動機 支持搜索位置。以下位置分別爲: 〜/ Views/section1/Section2/.aspx 〜/ Views/section1/Section2/.ascx〜/ Views/Shared/Section2/.aspx 〜/ Views/Shared/Section2/.ascx〜 /Views/section1/Section2/.cshtml 〜/查看/ SECTION1 /第2節/ .vbhtml〜/查看/共享/第2節/ .cshtml 〜/查看/共享/第2節/ .vbhtml
我希望這一切都有道理。如果有更好的方法來解決這個問題,請告訴我。
我目前的問題是讓這個導航到每個部分(1,2,3和4)的索引頁面,並在第1部分有一個控制器。如果這是不可能的,那麼解決這個問題的有效方法是什麼?無論哪種方式,我可能需要看到一個代碼示例。
其次,是否有一個體面的方式來利用MVC3網站上的網站地圖?如果是這樣,我會用什麼方法?
感謝您的幫助。
您的默認路由應該是百達在映射結束時,嘗試 – cpoDesign 2012-02-20 08:34:56