2009-08-27 41 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服務器控件的一個ASP.Net MVC的網站。 ASP.Net MVC不像常規ASP.Net那樣執行頁面生命週期。服務器控件可能會呈現,但如果它們依賴於ViewState或Postback事件,則它們將不起作用。

看看驗證碼控制的代碼,這似乎是問題所在。驗證被編程爲在LoadPostBackData期間發生。不幸的是,在ASP.Net MVC中沒有回傳的概念,因此沒有回傳數據。

1

我寫了一篇關於ASP.NET MVC驗證碼控件的完整博客文章。也許這是值得看看它,因爲它是非常最新:

ASP.NET MVC Captcha Control

+0

偏離主題,您使用的是哪種博客軟件,非常乾淨。我喜歡。 – 2012-09-24 00:29:34

+0

@dustin而不是有效地只發佈一個鏈接,你可以在這裏發佈摘錄內聯嗎?我們不鼓勵僅鏈接回答。 – slugster 2012-09-24 10:41:33

+0

@Mystere Man:我自己的家釀; – dustinmoris 2012-09-24 11:17:40

0

一個更好的選擇是簡單地使用reCaptchaMvcExtensions從NuGet包庫。這是一個簡單的安裝和使用包,使用完整的谷歌reCaptcha。