Url.Action и LinkGenerator возвращает разные URL - PullRequest
0 голосов
/ 22 января 2019

На действии контроллера Asp.Net Core 2.2 у меня есть следующее:

  var url1 = Url.Action(action: "GetContentByFileId", values: new { FileId = 1 });

  var url2 = _linkGenerator.GetUriByAction(HttpContext, action: "GetContentByFileId", values: new { FileId = 1 });

Я получил правильный URL-адрес в URL1, но URL2 имеет значение null ...

Я ввожу LinkGenerator в контроллер, и он не нулевой, поэтому я думаю, что все в порядке ...

Есть идеи о том, что мне не хватает?

1 Ответ

0 голосов
/ 22 января 2019

Включить предполагаемый контроллер во второй вызов.

var url2 = _linkGenerator.GetUriByAction(HttpContext, 
    action: "GetContentByFileId",
    controller: "ControllerNameHere", //<--
    values: new { FileId = 1 }
);

Первый вызов уже знает о контроллере через текущий ActionContext, который был введен в UrlHelper

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