我正在尝试使用他们的 facebook id 对我的用户进行身份验证。为此,我有他们的 facebook id。注册时保存在我的数据库中。我正在为此使用 facebook 的 javascript API,它工作正常,使用用户基本信息将用户带回我的网站,成功时来自 .aspx 页面的位置我正在使用 jQuery ajax 调用
FB.Event.subscribe('auth.statusChange', function (response) {
if (response.authResponse) { FB.api('/me?email?dob', function (me) { if (me.name) {
emid = me.email;
$.ajax({
url: 'index.aspx/checkuser',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({ eid: emid }),
}
})
});
上面的代码在我的 masterpage.aspx 到我的代码中的一个 webMethod 后面是一个静态方法
[WebMethod]
public static void checkuser(string eid)
{
checkFBDB objChk = new checkFBDB();
objChk.isFBIDExists(eid);
}
此代码在内容页面 index.aspx 上,在该方法中,我通过创建类对象 public class checkFBDB 来调用类函数:System.Web.UI.Page {
public void isFBIDExists(string fbID)
{
string cnString = string.Empty;
cnString = ConfigurationManager.ConnectionStrings["connectionString"].ToString();
SqlDataReader dR = SqlHelper.ExecuteReader(cnString,
CommandType.Text, "SELECT * FROM smsUsers WHERE fbA='" + fbID + "' ");
if (dR.Read())
{
Session["userName"] = dR["userName"].ToString();
Session["smsCredit"] = int.Parse(dR["SMSCredit"].ToString());
Session["sender"] = dR["FName"].ToString();
Session["userMob"] = dR["MobileNo"].ToString();
HttpContext.Current.Server.Transfer("AuthenticatedForms/sendMessage.aspx");
}
else
{
HttpContext.Current.Server.Transfer("~/mapFBID.aspx",true);
}
}
}
它打开与数据库的连接,并使用提供的 facebook id 验证用户是否存在于我们的数据库中,然后 "HttpContext.Current.Server.Transfer("AuthenticatedForms/sendMessage.aspx");" 我正在使用这个语句,但问题是如果我使用来自正常页面的相同语句,它可以正常传输,但是从这个代码类它传输执行我在调试模式下看到的所有操作,但返回到 web 方法所在的页面调用它正在调用此代码类来转移控制权。我正在使用母版页。Visual Studio 2010,后端是 SQL SERVER 2000。以下是我的代码。提前感谢您的任何帮助。