MVC: преобразовать параметр маршрута с дефисом, чтобы подчеркнуть имя действия? - PullRequest
0 голосов
/ 20 декабря 2011

У меня есть несколько URL-адресов, которые соответствуют шаблону {controller} / {action}.

Моя проблема заключается в том, что я хочу использовать несколько слов, разделенных дефисом, для второго параметра (action).Поскольку в именах методов действия запрещены дефисы, я не могу сопоставить этот шаблон только с одним отображением, и я должен прибегнуть к новому отображению для каждого нового действия, например:

routes.MapRoute(
    "ContactUsForm", "forms/contact-us", new {
        action = "contact_us", 
        controller = "Forms"
    });

У меня есть много форм, которым нужен этот шаблон, и их проблемы настолько различны, что я не могу сопоставить их с одним и тем же методом действия.

ВОПРОС Есть ли простой способ обойти это, скажем, каким-то образом сопоставить {controller} / {some-string} с действием "some_string" и направить все URL-адреса моей формы водин ход?

1 Ответ

6 голосов
/ 20 декабря 2011

Вы можете указать имя действия в атрибуте и использовать его без каких-либо изменений в маршрутах:

[ActionName("some-string")]
public ActionResult MyActionHere(string id) 
{

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...