Я думал, что у меня могут быть дружественные URL-адреса для всех маршрутов в моем смешанном приложении ASP.NET + MVC, но он не работает так, как я ожидаю. Вот моя установка определение маршрутизации:Смешивание маршрутизации ASP.NET и MVC
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapPageRoute("Design-Fancy", "Design/Fancy/{*queryvalues}", "~/Design/example10.aspx", true);
routes.MapPageRoute("Design-Simple", "Design/Simple/{*queryvalues}", "~/Design/example5.aspx", true);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
В то время как это работает, чтобы маршрут к * .aspx страницы Любые теги Razor действия на той же странице, которые определены, например, как «Home» для контроллера и «О» для Action фактически отображаются в источнике страницы как «http://..../Design/Fancy?action=About&controller=Home». Таким образом, это нарушает все URL навигационных меню и т. Д. Я должен делать это неправильно!
Как выглядит ваше действие на бритву? –
Вы можете попробовать изменить порядок маршрутизируемых маршрутов, поставив маршрут «По умолчанию» до маршрутов «Дизайн-Причудливый» и «Простой дизайн», поскольку маршруты, которые отображаются сначала, имеют более высокий приоритет. Однако это может нарушить нормальное поведение ваших маршрутов Fancy и Simple. – Chase
https://www.packtpub.com/books/content/mixing-aspnet-webforms-and-aspnet-mvc – RoteS