URL de resultado ASP.NET MVC Html.ActionLink: la forma de codificación

Creo una cantidad de acciones en los controladores MVC.

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

Y cuando tengo que llamar a ActionLink ...

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

... me genera diferentes URL:

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

¿Dónde establecer la forma en que construye una URL? No tengo ideas ... ((

OK, obtuve algo de luz: - si los nombres de propiedad son los mismos que los utilizados en el esquema de enrutamiento - por ejemplo, controlador, acción e id - el MVCsiempre use el generador de rutas (/ c / a / id).

Eso ayuda un poco (así que ...nombra el parámetro "id" como sea posible))

Pero el problema general sigue siendo válido ...

debe tener el mismo nombre que el token en la ruta

Exactamente, primero tuve esa idea.

Pero ahora solo tengo la ruta predeterminada ({controller} / {action} / {id}) pero todavía tengo la URL con "propiedad" en barras ... Esto es bastante extraño.

También hay una manera tramposa: crear una ruta precisa que coincida con un controlador determinado con sus nombres de parámetros; parece que esa será la respuesta definitiva, pero todavía no quiero hacer esto ((

Respuestas a la pregunta(1)

Su respuesta a la pregunta