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" },
);