c# - 运行 SQL 语句时出现页面 404,然后重定向

标签 c# asp.net webforms single-sign-on response.redirect

我遇到了一个非常奇怪的错误,我对 ASP.NET 一点也不擅长,但我正在帮助开发单点登录应用程序,但我在重定向用户时遇到了问题。我将使其尽可能简单,这就是它的工作原理:

1.) 他们来自另一个网站,它传递一个带有他们 ID 的单点登录对象

2.) 在页面加载时,我们使用该 ID 在我们的数据库中查找并获取他们的信息,如果他们缺少信息,他们必须填写。

3.) 如果他们没有遗漏任何信息,它将他们的 ID 插入到事件 session 表中,然后将他们重定向到最终网站

问题是,我可以在页面加载时很好地执行 SQL 插入语句,并且它可以很好地从 Single Sign-On 对象接收数据;但是当我运行 SQL 插入语句然后将它们重定向到另一个页面时,该页面只是 404s。当重定向被放置在那里时,我们也会收到单点登录错误,只是说它无法完成。我们注册了 SQL 语句运行,但它们没有被重定向;就像说的那样,它只是 404s。

为什么会发生这种情况?这是代码的一般流程:

protected void Page_Load(object sender, EventArgs e)
{
     SSOObject x = ServiceProvider.RecieveSSO(Request);
     userID = x.ID;

     SqlConnection conn = new SqlConnection(connString);
     conn.Open();
     SqlCommand comm = ("INSERT INTO etc...");

     comm.Parameters.AddWithValue("@ID", userID);

     comm.ExecuteNonQuery();
     conn.Close();
     comm.Dispose();

     // It works fine up to here, but if I add this it 404's:
     Response.Redirect("http://ourwebsite.com/user/etc...");
}

在此先感谢任何试过这个的人,这让我有些困惑。

编辑:遗漏了一条重要信息。如果我注释掉 SSO 代码并只硬核 ID,整个过程就可以了!

最佳答案

我只需要像这样传递 false(参数是结束页面的执行):

Response.Redirect("http://website.com", false);

关于c# - 运行 SQL 语句时出现页面 404,然后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15907402/

相关文章:

javascript - 如何在 Asp.net 中使用 Javascript 根据 DropDownlist 中的数据选择设置 Label Text 属性

javascript - 如何在 DropdownList 更改后刷新页面以便执行 JavaScript

asp.net - 使用 ASP.NET Webforms 在另一个页面上打开特定选项卡

c# - 在 Azure 云服务中获取 x509 证书

c# - 使用负年份创建 Instant

c# - 如何使用 c# 在 asp.net 中恢复能够下载的文件 -> 最佳方式(也适用于大文件)

asp.net - Excel 互操作库与 ASP.NET 不兼容?

javascript - 调用数据并将其从 C# 代码后面传递到 Javascript

javascript - 离线 Google Chrome 扩展程序/打包应用程序 : Trying to send form data from one local page to another

javascript - 验证后和回发前禁用 Webform 按钮