Проблема с образцом управления ASP.NET CAPTCHA с ASP.NET MVC - PullRequest
2 голосов
/ 27 августа 2009

Я пытаюсь использовать следующие Серверный элемент управления CAPTCHA для ASP.NET - Джефф Этвуд на сайте ASP.NET MVC. Похоже, что пользовательский элемент управления не проверяется при отправке формы.

Есть ли кто-нибудь, кто работал с этим образцом с помощью ASP.NET MVC?

Основной код, который я использую, выглядит следующим образом:

<% using (Html.BeginForm()) { %>
<CaptchaControl:CaptchaControl ID="CaptchaControl" Name="Security" runat="server"></CaptchaControl:CaptchaControl>
<input type="submit" value="Send Message" />
<% } %>

Ответы [ 3 ]

1 голос
/ 24 сентября 2012

Я написал полный пост в блоге об элементе управления ASP.NET MVC. Может быть, стоит взглянуть на это, так как это очень актуально:

ASP.NET MVC Captcha Control

1 голос
/ 27 августа 2009

Не рекомендуется использовать серверные элементы управления ASP.Net для сайта ASP.Net MVC. ASP.Net MVC не выполняет жизненный цикл страницы, как обычный ASP.Net. Серверные элементы управления могут отображаться, но если они используют события ViewState или Postback, они не будут работать.

Глядя на код для Captcha Control, кажется, это проблема. Проверка запрограммирована на выполнение во время LoadPostBackData. К сожалению, в ASP.Net MVC нет концепции обратной передачи и, следовательно, нет данных обратной передачи.

0 голосов
/ 24 сентября 2012

Лучше всего просто использовать reCaptchaMvcExtensions из библиотеки пакетов NuGet. Это простой в установке и использовании пакет, который использует полную Google ReCaptcha.

...