T4MVC JavaScriptReplacableUrl не работает

Я пытаюсь использовать JavaScriptReplacableUrl, чтобы получить URL-адрес на стороне клиента и заменить параметры.

Мой метод контроллера:

virtual ActionResult Details(int id = 0, int acctJobID = 0)

JavaScript для тестирования JavaScriptReplacableUrl

console.log('@Url.JavaScriptReplaceableUrl(MVC.Distribution.Details())');
//output: /Distribution/Details/0/0 
//expected: /Distribution/Details/{id}/{acctJobID}

Это в T4MVC версии 3.10.0. Это ошибка в T4MVC, или я что-то упустил?

1 ответ

Как указано в документации T4MVC:

Вы должны определить конкретный маршрут, чтобы JavaScriptReplacableUrl работал так: он не может работать с "маршрутами по умолчанию". Если он не может найти подходящий маршрут, он ведет себя как Url.Action().

Итак, это означает, что вы должны добавить собственный маршрут, чтобы он работал:

routes.MapRoute(
    name: "Distribution_Details",
    url: "Distribution/Details/{id}/{acctJobID}",
    defaults: new { controller = "Distribution", action = "Details" },
);
Другие вопросы по тегам