2

次の ASP.NET 用の CAPTCHA サーバー コントロールを使用しようとしています - ASP.NET MVC サイト内のJeff Atwood によるものです。フォームの送信時にカスタム コントロールが検証されていないようです。

ASP.NET MVC を使用してこのサンプルを操作したことのある人はいますか?

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

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

3 に答える 3

1

ASP.NETMVCキャプチャコントロールに関する完全なブログ投稿を作成しました。非常に最新であるため、一見の価値があるかもしれません。

ASP.NETMVCキャプチャコントロール

于 2012-09-24T00:07:17.340 に答える
1

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

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

于 2009-08-27T05:03:29.480 に答える
0

NuGet パッケージ ライブラリの reCaptchaMvcExtensions を使用することをお勧めします。これは、完全な Google reCaptcha を使用する簡単にインストールして使用できるパッケージです。

于 2012-09-24T01:32:26.250 に答える