2009-08-27 13 views
2

ASP.NET MVCサイト内で次のA CAPTCHA Server Control for ASP.NET - by Jeff Atwoodを使用しようとしています。カスタムコントロールは、フォームの送信時に検証されていないようです。ASP.NET MVCでのASP.NET CAPTCHAコントロールサンプルのトラブル

このサンプルでASP.NET MVCを使用して作業している人はいますか?次のように

私が使用しています基本的なコードは次のとおりです。

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

答えて

1

本当にASP.Net MVCサイトのASP.Netのサーバーコントロールを使用することをお勧めしません。 ASP.Net MVCは通常のASP.Netのようにページライフサイクルを実行しません。サーバーコントロールがレンダリングされる可能性がありますが、ViewStateイベントまたはPostbackイベントに依存する場合は動作しません。

Captcha Controlのコードを見ると、これが問題のようです。検証は、LoadPostBackData中に発生するようにプログラムされています。残念ながら、ASP.Net MVCではポストバックの概念がないため、ポストバックデータはありません。

1

私は、ASP.NET MVCキャプチャコントロールについての完全なブログ記事を書いています。それは非常に最新のものですので、多分それは、それを見てする価値がある:

ASP.NET MVC Captcha Control

+0

オフトピック、あなたが使っているブログソフトウェアは非常にきれいです。私はそれが好きです。 –

+0

@dustinリンクを効果的にポストするのではなく、ここに抜粋を掲載することができますか?私たちは、リンクのみの回答を推奨していません。 – slugster

+0

@ミスター・マン:私の自家製の醸造所) – dustinmoris

0

より良い選択は、単にNuGetパッケージライブラリからreCaptchaMvcExtensionsを使用することです。これは完全なgoogle reCaptchaを使用するパッケージのインストールと使用が簡単です。