Configurando o ASP.Net MVC 4 Routing com variáveis ​​de segmento personalizadas

Eu comecei a trabalhar em um aplicativo com algumas áreas (mestre de grade básica / sistema de tipo de detalhes ...) Eu estou olhando para tirar proveito dos bons recursos de roteamento no MVC (4 especificamente) e estou "simplesmente não entendi" Eu presumo.

Atualmente, a única rota definida é a básica:

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

o que é bom, ele funciona com as áreas que definimos, então eu estou supondo que ele deve saber onde o usuário está e direcionar para o controlador apropriado baseado contextualmente na localização / área em que o usuário está .. tão legal ..

Agora, estou tentando criar uma nova rota que possa lidar

/someController/someAction/{statusName} 

e especificamente algo como:

/OrderManager/List/New 

E

/OrderManager/List/Viewed

onde "Novo" é o status "Novo" e tem a Assinatura de Ação como:

public ActionResult List(string statusName)

Eu estava supondo que eu poderia apenas adicionar a nova rota abaixo do padrão identificando "statusName" em vez de Id, mas é claro, como o H seria o mecanismo de roteamento de saber a diferença entre:

/ controller1 / action1 / 15

/ controller2 / action2 / new

Eu tentei adicionar uma rota "estática" na forma de

routes.MapRoute("Default", 
            "ControllerName/ControllerAction/{statusName}", 
            new { statusName = UrlParameter.Optional }
        );

Eu pensei que poderia "hiJack" apenas que uma rota e fazer algo especial com isso, mas para saber aproveitar, o roteador pára na primeira partida? Eu estou assumindo que era o caminho errado para resolver este problema de qualquer maneira ..

então agora estou passando pela ideia de chegar a algo como:

/somecustomroutename/somesortValue

ex. / OrderManagerList / viewNew

onde essas rotas seriam basicamente "aliases". Eu pensei que adicionando a seguinte rota faria o truque:

 routes.MapRoute("Default_List",
          "OrderManagerList/{statusName}",
          new {controller="OrderManager", action="List", statusName= UrlParameter.Optional }
      );

com a ação associada no controlador OrderManager:

public ActionResult List(string statusName)

não importa o que eu tente, o argumento é nulo, ou o "recurso não pode ser encontrado"

Eu sei que os controladores precisam ter um arquivo de exibição correspondente .. mas esse não é o problema aqui, o problema é minha tentativa de entender o roteamento.

SO minhas perguntas .. fundamentalmente, o que estou faltando sobre o roteamento no MVC (4)? mesmo alguns bons artigos para um simplório como eu entender?

meu entendimento; definir uma rota, e mapear é "endpoint" .. no entanto, eu acho que não estou entendendo as suposições que a máquina está fazendo ..

De qualquer forma, deixe-me saber se mais explicar / editar é necessário ..

desde já, obrigado.

questionAnswers(1)

yourAnswerToTheQuestion