验证阻止了OnClick的触发

时间:2016-09-02 14:28:48

标签: asp.net recaptcha

我做了一个简单的反馈表。我点击提交按钮,电子邮件发送正常,一切都很好。所以,我决定将Google recaptcha添加到页面中。 当我将方法包含在验证检查中时 -

if (ctrlGoogleReCaptcha.Validate()) {//onclick method here//}

OnClick根本不再发射。它甚至不足以达到我输入的断点。如果我拿出验证检查它再次起作用。我甚至试过一个基本的

if (Page.IsValid)

这也不起作用。

编辑 -

这是页面上的控件:

<div class="row">
<div class="input-field col-md-12">
<asp:Label runat="server" CssClass="col-md-2 control-label"></asp:Label>
<div class="col-md-6 col-lg-push-2">
<re:recaptchav2 SiteKey="xxxx" SecretKey="xxx" ErrorMessage="Human validation failed!" ID="recaptchaControl" runat="server" />
</div>
</div>
</div>
<div class="row">
<div class="input-field col-md-12">
<asp:LinkButton ID="lnkSubmit" runat="server" OnClick="btnsubmit_Click" CssClass="btn btn-primary waves-effect waves-light deep-purple">Contact us</asp:LinkButton>
</div>
</div>

protected void btnsubmit_Click(object sender, EventArgs e)
    {
        if (Page.IsValid)
        {
            MailMessage mm = new MailMessage(txtEmail.Text, "siteinfo@onstagetonight.co.uk");
            mm.Subject = "Feedback from website";
            mm.Body = "Email from " + txtName.Text + "<br /><br />" + txtMessage.Text;
            SmtpClient smtp = new SmtpClient();
            smtp.Host = "mail.websitelive.net";
            smtp.Send(mm);
            panContact.Visible = false;
            panContactThanks.Visible = true;
        }
        else
        {
            panContactFail.Visible = true;
        }

    }

在web.config中,有这一行

<system.web>
<pages>
<controls>
<add assembly="recaptchav2" namespace="recaptchav2" tagPrefix="re" />
</controls>
</pages>
</system.web>

参考文献中还有recaptchav2.dll。这些都取自其工作的网站的早期版本。一旦我将其复制到我的新网站,其中只有设计已更改,它就不再有效。我填写表格,点击“我不是机器人”,但是当我点击提交时,没有任何反应,就像OnClick事件甚至不存在一样。

0 个答案:

没有答案