【问题标题】:Trouble with ASP.NET CAPTCHA Control Sample with ASP.NET MVC带有 ASP.NET MVC 的 ASP.NET CAPTCHA 控制示例的问题
【发布时间】:2009-08-27 04:48:29
【问题描述】:

我正在尝试在 ASP.NET MVC 站点中使用以下 A CAPTCHA Server Control for ASP.NET - by Jeff Atwood。提交表单时,自定义控件似乎没有进行验证。

有没有人使用 ASP.NET MVC 对这个示例做过任何工作?

我使用的基本代码如下:

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

【问题讨论】:

    标签: .net asp.net-mvc captcha


    【解决方案1】:

    不建议对 ASP.Net MVC 站点使用 ASP.Net 服务器控件。 ASP.Net MVC 不像常规 ASP.Net 那样执行页面生命周期。服务器控件可能会呈现,但如果它们依赖于 ViewState 或 Postback 事件,它们将无法工作。

    查看验证码控件的代码,这似乎是问题所在。验证被编程为在 LoadPostBackData 期间发生。不幸的是,ASP.Net MVC 中没有回发的概念......因此没有回发数据。

    【讨论】:

      【解决方案2】:

      我写了一篇关于 ASP.NET MVC 验证码控件的完整博客文章。也许值得一看,因为它是最新的:

      ASP.NET MVC Captcha Control

      【讨论】:

      • 题外话,你用的是什么博客软件,很干净。我喜欢它。
      • @dustin 您可以在这里发布一个内联摘录,而不是有效地发布一个链接吗?我们不鼓励仅提供链接的答案。
      • @Mystere Man:我自己的家酿 ;)
      • @dustinmoris - 摘录,他指的是文章的一小部分,而不仅仅是使用锚标签。
      【解决方案3】:

      更好的选择是简单地使用 NuGet 包库中的 reCaptchaMvcExtensions。这是一个使用完整的 google reCaptcha 的简单安装和使用包。

      【讨论】:

        猜你喜欢
        • 2013-09-01
        • 2010-11-03
        • 1970-01-01
        • 2013-05-07
        • 2010-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-11
        相关资源
        最近更新 更多