Я следовал за ответом на этот вопрос [вопрос] Как реализовать reCaptcha V3 в ASP.NET
Все отлично, вплоть до контроллера. Я получаю сообщение об ошибке, что оно «не существует в текущем контексте. Я что-то упустил в своем действии контроллера?
ViewModel -
public class LoginViewModel
{
[Required]
[Display(Name = "User Name")]
public string UserName { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
public static bool ReCaptchaPassed(string gRecaptchaResponse)
{
HttpClient httpClient = new HttpClient();
var res = httpClient.GetAsync($"https://www.google.com/recaptcha/api/siteverify?secret=My-Secret-Key no quotes&response={gRecaptchaResponse}").Result;
if (res.StatusCode != HttpStatusCode.OK)
return false;
string JSONres = res.Content.ReadAsStringAsync().Result;
dynamic JSONdata = JObject.Parse(JSONres);
if (JSONdata.success != "true")
return false;
return true;
}
}
вход в систему Post Async -
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
//if (!ModelState.IsValid)
//{
// return View(model);
//}
if (!ModelState.IsValid) return View(model);
else
{
if (!ReCaptchaPassed(Request.Form["BestenReCaptcha"]))
{
ModelState.AddModelError(string.Empty, "You failed the CAPTCHA.");
return View();
}
}
/// Other actions ///
}
Ошибка - имя 'ReCaptchaPassed' не существует в текущем контексте
Мне что-то не хватает, ответ помечен как исправление, и никто больше не сообщил, что у него с ним проблемаЯ бы там спросил, но вопрос старый. Спасибо за помощь!