Set Default Page to Hybrid Web Application(MVC and Web Form)


關於MVC架構下的Default Page的機制

在MVC架構,如果要設定預設的Default Page給MVC,我們可以在RoutConfig.cs中設定Default的MVC Controller來讓他接收,如下:

public static void RegisterRoutes(RouteCollection routes)
{
	// MVC default
	routes.MapRoute(
		"Default",                          // Route name
		"{controller}/{action}/{id}",       // URL with parameters
		new { controller = "Home",
					action = "Index",
					id = UrlParameter.Optional }  // Parameter defaults
	);
}

而如果要設定Hybrid(WebForm與MVC同時存在的架構)的Routing時需要注意一下先後順序,避免Routing註冊不到

public static void RegisterRoutes(RouteCollection routes)
{
	routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
	routes.IgnoreRoute("{myWebForms}.aspx/{*pathInfo}");

	// Web Forms default
	routes.MapPageRoute(
		"WebFormDefault",
		"",
		"~/default.aspx");

	// MVC default
	routes.MapRoute(
		"Default",                          // Route name
		"{controller}/{action}/{id}",       // URL with parameters
		new { controller = "Home",
					action = "Index",
					id = UrlParameter.Optional }  // Parameter defaults
	);
}

至於架構的原因待了解後在分享給大家了…


作者: Blackie
版權聲明: 本站所有文章除特別聲明外,均採用 CC BY 4.0 許可協議。轉載請註明來源 Blackie !
  目錄