vb/aspx单页模型:如何实现服务器端验证码同时post表单数据到另一个页面?
vb/aspx single-page model: how to implement server-side captcha while also post form data to another page?
我正在使用 WebCaptcha 但是我不知道如何执行 POST 来验证用户验证码输入,然后在相同的 post 管道中也提交仅当验证码正确时,才将表单数据发送到不同的网页。我知道这很难 w/o 完整代码但是...是的。这是触发表单的按钮:
<form runat="server" name="PDFfrm1" id="PDFfrm1" method="post" enableviewstate="false" action=""><!-- action="/Processor.aspx" -->
清空 action=
post 页面返回自身。
<asp:Button ID="btnSubmit" runat="server" Text=" Submit " Style="border-radius:8px" UseSubmitBehavior="false" OnClick="btnSubmit_Click" OnClientClick="" Width="6em" Height="3em" Borderstyle="Groove" Borderwidth="2" Font-Bold="true" BackColor="Navy" ForeColor="White" />
UseSubmitBehavior=
在普通按钮和提交按钮之间切换按钮。请注意,Microsoft 在 OnClientClick=
部分填充了一个 Javascript __DoPostBack()
函数,您可以通过向该属性添加“//”来阻止该函数。
那么:
Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSubmit.Click
If Page.IsValid Then
lblResult1.Text = "CAPTCHA verification passed, your request has been sent!"
Else
lblResult1.Text = "Sorry, the CAPTCHA text was not entered properly, try again."
End If
End Sub
我想我必须将代码添加到执行服务器端 (ajax??) post 的 Page.IsValid
部分,因为为了btnSubmit_Click()
以获得控制权,当前页面已经 已经 对自身完成了 post,我不知道如何中断该管道。我不能只做 Javascript POST 因为客户在这个阶段不受控制。
答案很简单:做 Server.Transfer(URL, True)
保留成功的 Page.IsValid
测试中的现有会话数据,允许目标页面读取表单数据,就好像它已经完成了 POST.
我正在使用 WebCaptcha 但是我不知道如何执行 POST 来验证用户验证码输入,然后在相同的 post 管道中也提交仅当验证码正确时,才将表单数据发送到不同的网页。我知道这很难 w/o 完整代码但是...是的。这是触发表单的按钮:
<form runat="server" name="PDFfrm1" id="PDFfrm1" method="post" enableviewstate="false" action=""><!-- action="/Processor.aspx" -->
清空 action=
post 页面返回自身。
<asp:Button ID="btnSubmit" runat="server" Text=" Submit " Style="border-radius:8px" UseSubmitBehavior="false" OnClick="btnSubmit_Click" OnClientClick="" Width="6em" Height="3em" Borderstyle="Groove" Borderwidth="2" Font-Bold="true" BackColor="Navy" ForeColor="White" />
UseSubmitBehavior=
在普通按钮和提交按钮之间切换按钮。请注意,Microsoft 在 OnClientClick=
部分填充了一个 Javascript __DoPostBack()
函数,您可以通过向该属性添加“//”来阻止该函数。
那么:
Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnSubmit.Click
If Page.IsValid Then
lblResult1.Text = "CAPTCHA verification passed, your request has been sent!"
Else
lblResult1.Text = "Sorry, the CAPTCHA text was not entered properly, try again."
End If
End Sub
我想我必须将代码添加到执行服务器端 (ajax??) post 的 Page.IsValid
部分,因为为了btnSubmit_Click()
以获得控制权,当前页面已经 已经 对自身完成了 post,我不知道如何中断该管道。我不能只做 Javascript POST 因为客户在这个阶段不受控制。
答案很简单:做 Server.Transfer(URL, True)
保留成功的 Page.IsValid
测试中的现有会话数据,允许目标页面读取表单数据,就好像它已经完成了 POST.