响应重定向无法工作

时间:2014-05-19 03:38:19

标签: c# jquery asp.net redirect post

我想将FB响应从客户端传递到服务器端(代码隐藏)

 function testAPI() {
            console.log('Welcome!  Fetching your information.... ');
            FB.api('/me', function (response) {

                $.post('http://localhost:4741/Default.aspx',
                { fbid: response.id, firstname: response.first_name, lastname: response.last_name, email: response.email, bday: response.birthday }, 
                function (result) {

                });
                 console.log('Good to see you, ' + response.id + response.name + response.id + response.email + response.gender + response.birthday + '.');

            });
        }

我想在页面加载中获取值和进程

protected void Page_Load(object sender, EventArgs e)
        {

            var fbid = Request.Form["fbid"];
            var fname = Request.Form["firstname"];
            var lname = Request.Form["lastname"];
            var email = Request.Form["email"];
            var bday = Request.Form["bday"];
            if (!Page.IsPostBack)
            {
                if (fbid != null)
                {

                    if (CheckFBLogin(fbid.ToString()) == true)
                    {
                        Response.Redirect("Users.aspx");
                    }

                    else
                    {
                        Response.Redirect("Register.aspx");
                    }
                }
            }



        }

CheckFBLogin(fbid.ToString())函数位于页面后面的相同代码中。但是当传递Response.Redirect(“Register.aspx”,true)时;没有任何事情发生。它将保持在同一页面。

假设要解决什么问题?

1 个答案:

答案 0 :(得分:1)

你已经过了真的'在' endResponse' Response.Redirect的参数。这将导致当前请求结束,从而导致ThreadAbortException。如果您没有处理此问题,或者只是通过吞下例外处理它,您的重定向就会显示为“无法正常工作”。传递“假”'推荐。