В моем приложении MVC сопоставлены два маршрута:
public class MvcApplication : System.Web.HttpApplication
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Project",
"{controller}/{projectid}/{action}/{id}",
new { controller = "Project", action = "Index", id = "" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
}
По большей части они не создают проблем, но у меня возникают проблемы при попытке вызвать представление / Account / LogOn. Мой синтаксис ActionLink выглядит так (я пробовал несколько вариантов, включая нулевые значения маршрута и т. Д.):
<%= Html.ActionLink("Log On", "LogOn", "Account") %>
При просмотре этого представления возникает ошибка 404 («Ресурс не найден»). В идеале я хотел бы избежать огромного количества переделок, так как лучше всего избежать этих столкновений?