Как добавить элемент ссылки вместе с сообщением о проверке, ЕСЛИ проверка завершается неудачей в представлениях mvc

#asp.net-core #model-view-controller

#asp.net-core #модель-представление-контроллер

Вопрос:

У меня есть требование, если проверка поля электронной почты, такая как электронная почта, уже используется в то время, когда отображается сообщение о проверке, электронное письмо уже отправлено вместе с этим сообщением о проверке, я хочу прикрепить ссылку для входа в систему, как я могу это сделать

 <div>
  <input asp-for="Email" type="text" placeholder="Email" class="form-control" />
 </div>
<span asp-validation-for="Email" id="err" class="text-danger"></span>
  
 <a  asp-area="" asp-controller="Account" asp-action="Login" asp-route-aname="indiaRegion">login</a>
  
 Any Help That Grate For Me How Can I append The Link At Time Of email Validation Fail  I have Remote Email Verification For Already In Use 
  

Ответ №1:

Попробуйте использовать удаленную проверку и добавьте <a> тег в сообщение о проверке. Проверьте следующий код:

UserViewModel:

     [Remote(action: "VerifyEmail", controller: "Home")]
    public string Email { get; set; }
  

Код в представлении:

         <div class="form-group">
            <label asp-for="Email" class="control-label"></label>
            <input asp-for="Email" class="form-control" />
            <span asp-validation-for="Email" class="text-danger"></span> 
        </div> 
  

Код в контроллере:

     [AcceptVerbs("GET", "POST")]
    public IActionResult VerifyEmail(string email)
    { 
        //Generate the login url:
        string loginurl = string.Format("{0}://{1}/{2}", Request.Scheme, Request.Host, "Identity/Account/Login");
        if (_userService.VerifyEmail(email))
        {
            return Json($"Email {email} is already in use, click the <a href='"   loginurl   "'> here </a> to login.");
        }

        return Json(true);
    }
  

Тестовый снимок экрана:

введите описание изображения здесь