Использование reCAPTCHA с MVC3 и razor?

#asp.net-mvc-3 #razor #recaptcha

#asp.net-mvc-3 #бритва #рекапча #razor #recaptcha

Вопрос:

Как именно вы заставляете reCAPTCHA работать в MVC3 с razor? Я попробовал «Установить пакет microsoft-web-helpers», но все еще не смог заставить его работать на моей странице .cshtml razor, он не может найти тип reCAPTCHA. И, на http://nuget.org/List/Packages/microsoft-web-helpers кто-то оставил комментарий со словами «Этот пакет в настоящее время работает только с WebMatrix». Хотя в этой статье показано, что это может работать http://www.dotnetcurry.com/ShowArticle.aspx?ID=611

Ответ №1:

Возможно, вам потребуется сделать Microsoft.Web.Helpers пространство имен доступным для представлений. В вашем Web.config (который находится в вашей Views папке) добавьте:

 <namespaces>
    <!-- other namespaces here -->
    <add namespace="Microsoft.Web.Helpers"/>
</namespaces>
  

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

 @ReCaptcha.Validate([public key])
  

Если настройка пространств имен не работает, вы могли бы попробовать добавить @using Microsoft.Web.Helpers оператор поверх представления, чтобы посмотреть, поможет ли это. Если это произойдет, вам придется попытаться выяснить, почему параметр пространства имен в web.config не работает…

Комментарии:

1. Спасибо Sergi, все еще не работает, я установил nuget pkg, но я подозреваю, что каким-то образом он установил мне более старую версию 1.0 Microsoft.Web.Helpers вместо 1.1 и просто не смог ее найти.

2. Тогда это должно быть так же просто, как удаление и переустановка, или даже обновление пакета через Add Library Package Reference диалоговое окно, не так ли?

3. Я использую консоль Pkg Mgr, поскольку ссылка на мой пакет Add Lib не отображается. В любом случае, даже с настройками dll и <пространства имен> в web.config, по какой-то причине он по-прежнему не распознает reCAPTCHA

4. Вы могли бы попробовать добавить @using Microsoft.Web.Helpers поверх представления, чтобы посмотреть, поможет ли это. Если это произойдет, вам придется попытаться выяснить, почему параметр пространства имен в web.config не работает…

Ответ №2:

Ответ №3:

Возможно, уже слишком поздно для вечеринки, но я не смог получить ни один из примеров для работы с MVC3. Помощники Microsoft, похоже, тоже не работают.

Наконец-то скачал двоичный файл reCAPTCHA из Google code для .net — http://code.google.com/p/recaptcha/downloads/list и создал пользовательский HTML-помощник razor.

Код доступен на Github — https://github.com/clearinterface/MvcRecaptcha

Надеюсь, это поможет.

Ответ №4:

Приведенные выше ответы не являются полными на 100%, поэтому я написал руководство, которое охватывает каждый отдельный шаг.