ASP.NET MVC: ActionLinks vazios aparecendo

Estou usando uma rota padrão, para não precisar especificar o controlado

routes.MapRoute(
    "Default", 
    "{action}/{id}", 
     new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

Com isso, posso criar URLs como myapp.com/Customers em vez de myapp.com/Home/Customer

Quando eu testar localmente, está tudo bem. Quando eu carrego uma versão ao vivo, todos os links gerados com Html.ActionLink ficam vazios. Eu sei que estou usando o Html.ActionLink corretamente, porque funciona bem localmente:

//                   Title                 Action      Controller
<%: Html.ActionLink("Manage My Settings", "Settings", "Home") %>

Eu removi todas as rotas, mas o padrão, tentei especificar o ActionLink com e sem o controlador etc. Até tentei voltar a ter o controlador na rota, por exemplo:

"{controller}/{action}/{id}"

Nothing trabalha ao vivo. Tudo funciona localmente. Ficando um pouco louco.

ATUALIZAR

OK, fez uma descoberta estranha. Na verdade, eu tinha outro UrlParameter opcional após o ID, chamado page. Estupidamente, não o incluí no exemplo, porque achei que não fazia diferença. Se eu tirar, as coisas parecem funcionar.

Então, na verdade, isso funciona:

routes.MapRoute(
   "Default", 
   "{controller}/{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

andest trabalho

routes.MapRoute(
   "Default", 
   "{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);

masest fazNã trabalho

routes.MapRoute(
   "Default", 
   "{action}/{id}/{page}", 
    new { controller = "Home", action = "Index", 
    id = UrlParameter.Optional, page = UrlParameter.Optional }
);

Por que não

questionAnswers(4)

yourAnswerToTheQuestion