如何在dnn页面中添加和验证google captcha

时间:2013-09-02 09:25:10

标签: dotnetnuke

我在dnn 7.1上工作。我在DNN页面添加了Google catcha。 参见本网站的参考资料

code for add captcha in asp.net

在此参考的帮助下,我在dnn页面中添加了验证码。但在验证码验证不起作用。任何东西写在文本框中。不显示错误消息。和表单提交成功。任何人都帮助我我可以做什么验证。 代码如下:

<%--<%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>--%>
<%@ Control Language="C#" ClassName="Admin.ContactUs" Inherits="DotNetNuke.Entities.Modules.PortalModuleBase" %>
<%@ Import Namespace="System" %>
<%@ Import Namespace="System.Collections" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Import Namespace="System.Data" %>

<script runat="server">

    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            SendMailTest();
        }
        else
        {

        }
    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }

</script>

<div class="contactusform-left commonclass lF">
    <asp:Label ID="lblmsg" runat="server" Text=""></asp:Label>
    /* Code for textbox, dropdowm */

</div>
<div class="contactusform-right commonclass lF">


    <div class="contactusform-set-textarea  contactusform-set" style="height:150px;">
        <label class="lF">
            Captcha <span>*</span></label>
            <div style="clear:left;width:100%;height:100px;">


     <recaptcha:RecaptchaControl  ID="recaptcha"  runat="server" PublicKey="6LdCxeYSAAAAAAP-uIGWnsZHeW7rn8rzeeblc5g" 
                                            PrivateKey="6LdCxeYSAAAAAFvnxCiaN_7vkHp-vaVRRYb9yVF" />
                                            <asp:Label Visible=false ID="lblResult" runat="server" />

            </div>
    </div>
    <div style="clear:both;"></div>
    <div class="contactusform-set " style="margin-top:10px;">
        <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click"
            ValidationGroup="ContactUsValidate" />
        <asp:Button ID="btnCancel" runat="server" Text="Cancel" Style="color: #8D8D8D; cursor: pointer;
            float: right; font-weight: bold; height: 34px; margin-right: 5px; text-transform: uppercase;
            width: 120px;" />
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

如果没有示例代码,这里很难给出一个有效的答案,但最常见的原因是如果你在按钮或其他控件上使用“ValidationGroup”,而不是在CAPTCHA上。< / p>

否则,我们需要查看您的具体代码。

答案 1 :(得分:0)

你知道DotNetNuke提供Telerik验证码控制吗?您可以完全按照此处所述使用它:http://demos.telerik.com/aspnet-ajax/captcha/examples/overview/defaultcs.aspx但您只需要在代码中用dnnCaptcha替换radCaptcha,并在文件的开头添加这两行:

<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.UI.WebControls" Assembly="DotNetNuke" %>
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.UI.WebControls" Assembly="DotNetNuke.Web" %>