Я создаю количество действий в контроллерах MVC.
public ActionResult DoSmth1(string token)
public ActionResult DoAnother2(string token)
А когда мне нужно вызвать ActionLink ..
=Html.ActionLink<SomeController>( x=> x.DoSmth(item.property), item.property)
=Html.ActionLink<AnotherController>( x=> x.DoAnother(item.property), item.property)
... он генерирует мне разные URL:
/Some/DoSmth/stringvalue
/Another/DoAnother?property=stringvalue
Где установить способ построения URL? Я понятия не имею ... ((
ОК, есть какой-то путевой свет:
- если имена свойств те же, что используются в схеме маршрутизации - например, controller, action и id - MVC будет всегда использовать построитель маршрута (/c/a/id).
Это немного помогает (так - назовите параметр "id" как можно * ))
Но общая проблема остается в силе ...
должен быть назван так же, как токен в маршруте
Точно - сначала у меня появилась эта идея.
Но - теперь у меня есть только маршрут по умолчанию ({controller} / {action} / {id}), но все еще есть URL с "свойством" в слешах ... Это довольно странно.
- есть также более хитрый способ - создать точный маршрут, который сопоставит данный контроллер с именами его параметров - кажется, что это будет окончательный ответ - но я все еще не хочу этого делать ((