Пользователи получают электронное письмо со ссылкой, по которой они должны щелкнуть, чтобы подтвердить свой адрес электронной почты. После того, как ссылка нажата, пользователь должен быть перенаправлен на одну из двух статических HTML-страниц, одна из которых гласит «Вы сертифицированы», а другая - «Срок действия ссылки истек»
Я попробовал несколько вариантов. Сначала я добавил Response.Redirect на мой контроллер с путем к представлению. Я также попробовал, где я добавил маршруты. MapPageRoute в мой файл RouteConfig и изменил мой вызов перенаправления, чтобы попытаться использовать это имя, но это тоже не работает. Я посмотрел этот пример для этого исправления ( Перенаправление на html-страницу в папке просмотра )
Вот мой код, пытающийся получить доступ к HTML-файлу с помощью перенаправления:
EmailCertification.UpdateDBEmailCertified(userName, int.Parse(memberNumber), certSentDT);
return Redirect("~/Views/EmailCertification/EmailCertified.html");`
Я получаю сообщение об ошибке:
Путь к /Views/EmailEmailCertification/EmailCertified.html не найден. Я проверил орфографию и путь все верный.
Если я изменил свой код для включения MapPageRoute в RoutesConfig, он все равно не будет работать.
Вот мой конфиг маршрута:
routes.MapPageRoute("HtmlPage", "EmailCertifiedURL", "~/Views/EmailCertification/EmailCertied.html");`
Вот мой контроллер:
return Redirect("EmailCertifiedURL");
Вот мой контроллер в действии, это HttpPost
public ActionResult EmailCertify(string userName, string memberNumber, string certSentDate)
{
DateTime certSentDT;
long lngCertSent = long.Parse(certSentDate);
certSentDT = new DateTime(lngCertSent);
if (certSentDT < DateTime.Now.AddDays(-14))
return Redirect("EmailOldURL");
EmailCertification.UpdateDBEmailCertified(userName, int.Parse(memberNumber), certSentDT);
return Redirect("~/Views/EmailCertification/EmailCertified.html");
}
Ошибка, которую я получаю, заключается в том, что
у контроллера нет действия EmailCertifiedURL. Этот код я взял из вышеупомянутой статьи StackFlow.
Все, что мне нужно, это ссылка на электронную почту, чтобы запустить действие контроллера EmailCertify и перенаправить меня на статическую HTML-страницу.
https://localhost:44344/EmailCertification/EmailCertify?userName=IS&memberNumber=3000050&certSentDate=636959314302036120