2017-01-24 1 views
1

Я использую WebCaptcha Тем не менее, я не могу понять, как сделать POST, чтобы проверить ввод пользовательского ввода, а затем в том же пост-конвейере также отправить данные формы на другую веб-страницу, только если captcha верен. Я знаю, что это сложно без полного кода, но ... да. Вот кнопка, которая запускает форму:vb/aspx одностраничная модель: как реализовать серверную капчу, а также отправить данные формы на другую страницу?

<form runat="server" name="PDFfrm1" id="PDFfrm1" method="post" enableviewstate="false" action=""><!-- action="/Processor.aspx" --> 

Пустая страница action= сообщения обратно к себе.

<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 использует функцию Javascript __DoPostBack() в разделе OnClientClick=, которую вы можете заблокировать, добавив «//» к этому атрибуту. Тогда:

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 

Я думал, я бы добавить код в раздел Page.IsValid, который делает на стороне сервера (AJAX ??) размещать на другую веб-страницу, так как для того, для btnSubmit_Click(), чтобы получить управление, текущая страница имеет уже сделала сообщение самому себе, и я не знаю, как прервать этот конвейер. Я не могу просто сделать Javascript POST, так как клиент на этом этапе не контролирует.

ответ

0

Ответ был прост: do Server.Transfer(URL, True), который сохраняет существующие данные сеанса в рамках успешного теста Page.IsValid, позволяя целевой странице читать данные формы, как если бы она выполняла POST.

Смежные вопросы