URL de resultado do ASP.NET MVC Html.ActionLink - a maneira de codificar

Eu crio uma quantidade de ações nos controladores MVC.

public ActionResult DoSmth1(string token)
public ActionResult DoAnother2(string token)

E quando eu tiver que ligar para o ActionLink ..

=Html.ActionLink<SomeController>( x=> x.DoSmth(item.property), item.property)
=Html.ActionLink<AnotherController>( x=> x.DoAnother(item.property), item.property)

... gera-me diferentes URLs:

/Some/DoSmth/stringvalue
/Another/DoAnother?property=stringvalue

Onde definir a maneira como cria um URL? Eu sou alr não tenho idéias ... ((

OK, obtive algumas orientações: - se os nomes das propriedades forem os mesmos usados no esquema de roteamento - por exemplo, controlador, ação e id - o MVC irásempre use o construtor de rotas (/ c / a / id).

Isso ajuda um pouco (então -nomeie o parâmetro "id" quanto possível)))

Mas o problema geral ainda é válido ...

deve ser nomeado igual ao token na rota

Exatamente - eu tive essa ideia pela primeira vez.

Mas - agora eu tenho apenas a rota padrão ({controller} / {action} / {id}), mas ainda tenho o URL com "propriedade" nas barras ... Isso é bem estranho.

há também uma maneira de trapacear - criar uma rota precisa que corresponda a um determinado controlador com seus nomes de parâmetro - parece que será a resposta definitiva - mas ainda não quero fazer isso ((

questionAnswers(1)

yourAnswerToTheQuestion