Вы можете сделать это несколькими способами, один из них будет иметь контроллер для каждой области и каждый контроллер иметь одно действие Index. Это создаст URL-адреса по мере необходимости с ограниченной конфигурацией маршрутизации.
Другой метод будет иметь один контроллер и несколько действий (по одному для каждого дома, AboutUs, Products) и установить маршрут, который будет примерно таким (непроверенный) ...
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Home", id = UrlParameter.Optional } // Parameter defaults
);
}
Надеюсь, это поможет.
Редактировать
Только что проверил следующий код со следующими допущениями -
1 контроллер (HomeController)
В Global.ascx
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
В HomeController
public class HomeController : Controller
{
public ActionResult Index()
{
ViewData["Message"] = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult AboutUs()
{
return View();
}
}
Это позволит:
http://localhost:port/
http://localhost:port/index
http://localhost:port/aboutus