asp-route не генерирует ожидаемый URL - PullRequest
0 голосов
/ 11 мая 2018

Когда я использую тег asp-route, он не возвращает точный URL. Ни один Url.RouteUrl. Они возвращают домашний URL. Но, используя asp-controller и asp-action, возвращает ожидаемый URL.

<a asp-route="Voucher_getPrice" data-ng-href="@Url.RouteUrl("Voucher_getPrice", new { productId = 5})" asp-route-productId="5"></a>

На главной странице сгенерированная ссылка: /Home/Index/5

Вот маршрут в Startup.cs:

app.UseMvc(routes =>
            {
routes.MapRoute(
                    "Voucher_getPrice",
                    "{controller}/{action}/{productId:required}",
                    new { controller = "Voucher", action = "getPrice" }
                    );
});

1 Ответ

0 голосов
/ 12 мая 2018

asp-route не следует использовать с asp-controller и asp-action. Другими словами, вы не можете настроить шаблон таким образом на MapRoute(). Вместо этого вам нужно будет указать контроллер и имя действия в шаблоне.

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "voucher_getPrice",

        // You don't need :required filter. If you don't put ? there,
        // it's required.
        template: "voucher/getPrice/{productId}"
    );

    routes.MapRoute(
        name: "default",
        template: "{controller=home}/{action=index}/{id?}");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...