Я только начинаю работу с ASP.NET MVC.
В чем разница между MapRoute и route.Add? Должен ли я использовать MapRoute? Можно ли сопоставить несколько маршрутов? Какие "карты" имеют приоритет... те, кого вы назвали первым или последним?
Я бы хотел сделать что-то похожее на StackOverflow для пользователей.
Но я хотел бы, чтобы URL-адрес соответствовал этому шаблону:
"Пользователь/{domain}/{username}", который должен быть перенаправлен в UserController
и для всех других запросов выполнить типичную маршрутизацию ASP.NET MVC. например:
routes.MapRoute(
"Default", "{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
UPDATE:
При использовании URL-адреса: http://localhost:3962/User/MYDOMAIN/BTYNDALL
Я получаю сообщение об ошибке: HTTP 404. Ресурс, который вы ищете (или его зависимости), мог быть удален, изменилось его имя или временно недоступно.
Вот код, который я использую:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"User",
"User/{domain}/{username}",
new { controller = "User", action = "Index" }
);
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" }
);
}
protected void Application_Start()
{
RegisterRoutes(RouteTable.Routes);
}
}