Мой проект использует .NET Core (2.2) Шаблон Angular Spa .В этой настройке маршрутизация обрабатывается клиентским веб-приложением Angular (7).
Как создать URL-адрес для формы сброса пароля, которая будет отправлена вместе с сообщением электронной почты для сброса пароля, если нет действия контроллера, связанного с этим маршрутом / компонентом?
В классическом ASPПроект .NET, например, со страницами Razor, я бы использовал класс UrlHelper для создания URL-адреса, указывающего на конкретный контроллер и действие.Действительно, я все еще использую UrlHelper для создания URL-адреса для сообщения с подтверждением по электронной почте:
var callbackUrl = new Uri(Url.Link("ConfirmEmail", new { username = newUser.UserName, code = code }));
Это возможно, поскольку существует действие «Подтвердить электронную почту»:
[HttpGet, Route("ConfirmEmail", Name = "ConfirmEmail")]
[AllowAnonymous]
public async Task<IActionResult> ConfirmEmail(string username, string code)
{
...
}
URL-адрес длясброс пароля отличается, потому что для этого нет действия контроллера.Ссылка содержит параметр кода и указывает на угловой компонент.Бит, о котором я не могу найти информацию, заключается в том, как получить маршрут / базу URL-адреса, который находится в разработке http://localhost:55722
, но в производстве будет другим:
http://localhost:55722/reset-password/my_parameter_here
Я мог бы создать макет'действие, которое используется для создания URL, но это, похоже, слишком далеко.Каков наилучший способ сделать это?