Как сделать динамическую ссылку на электронную почту в ASP.NET Core - PullRequest
1 голос
/ 25 сентября 2019

Я хочу кое-что спросить.Я создаю простого отправителя электронной почты, используя asp.net core 2.0, и хочу отправить электронное письмо со ссылкой для перенаправления получателя на мою веб-страницу, например аутентификацию электронной почты, но я не знаю, как сделать URL-адрес обратного вызова.

Я использую:

<a href='https://"+Request.Scheme+"/Users/Userrole'>Click Here</a>

, но ссылка в электронной почте была http: / Users / Userrole

Скажите, пожалуйста, как получить динамический URL на мою страницупотому что использование Localhost: 443xx / User / Userrole не элегантно и не работает, когда я запускаю на своем локальном компьютере

Edit, очень простой способ сделать это действие - <a href='https://"+this.Request.Host+"/Users/Userrole'>Click Here</a>

Спасибо FrustatedDeveloper за этот ответ

1 Ответ

1 голос
/ 25 сентября 2019

Asp.Net Core

В Asp.Net Core вы можете использовать следующее для получения URL:

var url = $"{Context.Request.Scheme}://{Context.Request.Host}{Context.Request.Path}";
var link = $"<a href='{url}'>Click here</a>";

Если вам нужно получить строку запроса, вы можете использовать:

var queryString = Context.Host.QueryString;

Пожалуйста, проверьте следующий ресурс: HttpRequest .

Если вы включите using Microsoft.AspNetCore.Http.Extensions, тогда вы также можете использовать:

var url = httpContext.Request.GetEncodedUrl();

Или

var url = httpContext.Request.GetDisplayUrl();

Оригинальный ответ (Asp.Net/MVC framework)

Для создания динамического URL вы можете использовать UrlHelper @Url.Action("ActionName", "ControllerName") вместе сRequest.Url.Authority для домена и Request.Url.Scheme для схемы (с использованием http или https).

var url = $"{Request.Url.Scheme}://{Request.Url.Authority}{@Url.Action("UserRole","Users")}";
var link = $"<a href='{url}'>Click here</a>";

Если на вашем сайте есть домен www.example.com, это будет означать URL-адрес, например:

https://www.example.com/users/userrole

Вышеприведенное использует строковую интерполяцию для объединения строковых переменных.

...