通过POST请求触发page_load事件

时间:2017-08-09 14:11:35

标签: jquery vb.net post devexpress facebook-javascript-sdk

我的问题很简单:如果我向aspx页面发送POST请求,是否会触发Page_Load事件?如果没有,我如何在我的页面上正确处理POST请求?

详细了解: 我一直在使用Facebook API来根据用户的名称对用户个人资料页面进行简单的研究。

我有一个DevExpress EditForm,其中包含有关该联系人的信息,以及一个“使用Facebook搜索”按钮,用于执行此操作:

function facebookLogin() {
            FB.login(function (response) {
                if (response.status === 'connected') {
                    FB.api('/search?type=user&q={' + edNomeAnagrafica.GetText() + ' ' + edCognomeAnagrafica.GetText() + '}', function (response) {
                        $.post("RicercaFBLoop.aspx", "Json=" + JSON.stringify(response.data) + "&paging=" + JSON.stringify(response.paging.next) + "&contatore=0");

                    });
                }
            }, { scope: 'email', return_scopes: true });

edNomeAnagrafica和edCognomeAnagrafica包含联系人的姓名和姓氏。

RicercaFBLoop.aspx是一种以这种方式构建的WebForm:

   <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="RicercaFBLoop.aspx.vb" Inherits="SportCardEvolution.RicercaFBLoop" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="js/jquery.min.js"></script>
    <title></title>
    <script type="text/javascript">
        function StartLoop() {
            var c = txContatore.Text;
            if (c === 0) {
                txValoreSessione.Text = "Clear";
            }
            c++;
            txValoreSessione.Text = txJson.Text;
            if (txPaging.Text === null)
            {
                window.location = '<%= ResolveUrl("ElencoFB.aspx") %>';
            }
            $.get(txPaging.Text)
                .done(function (result) {
                        $.post("~/RicercaFBLoop.aspx", "Json=" + result.data + "&paging=" + result.paging.next + "&contatore=" + c);
                });



        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <dx:ASPxTextBox ID="txJson" ClientInstanceName="txJson" runat="server" Visible="False"></dx:ASPxTextBox>
        <dx:ASPxTextBox ID="txPaging" ClientInstanceName="txPaging" runat="server" Visible="false"></dx:ASPxTextBox>
        <dx:ASPxTextBox ID="txContatore" ClientInstanceName="txContatore" runat="server" Visible="false"  ClientSideEvents-ValueChanged ="StartLoop"></dx:ASPxTextBox>
        <dx:ASPxTextBox ID="txValoreSessione" ClientInstanceName="txValoreSessione" runat="server" Visible="false" OnTextChanged="txSessionValue_TextChanged"></dx:ASPxTextBox>
    </div>
    </form>
</body>
</html>

虽然这是代码隐藏(RicercaFBLoop.aspx.vb):

Public Class RicercaFBLoop
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    txJson.Text = Request.Form("Json")
    txPaging.Text = Request.Form("Paging")
    txContatore.Text = Request.Form("Contatore")

End Sub


Protected Sub txSessionValue_TextChanged(sender As Object, e As EventArgs) Handles txValoreSessione.TextChanged
    If (txValoreSessione.Text = "Clear") Then
        Session("ElencoFB") = ""
    Else
        Session("ElencoFB") += txValoreSessione.Text
    End If
End Sub
End Class

我的目的是检索POST请求发送的值,触发StartLoop()javascript函数,该函数将值放入另一个隐藏字段(并通过会话字段中的隐藏字段),并向自己发送POST直到有更多页面滚动。不幸的是,当我调试时,我可以正确地看到POST请求,但之后没有任何事情发生。我无法调试RicercaFBLoop.aspx的JS代码。

所以我想知道我是否采取了正确的方法。

0 个答案:

没有答案