Response.Redirect无法从C#文件中运行

时间:2013-10-22 13:39:36

标签: asp.net response.redirect

我有一个网页Response.aspx,其后面的代码是Response.aspx.cs。此文件包含用于解析url参数并将其保存到数据库的代码,此文件作为来自其他Web应用程序的回调URL调用为

wwww.myswbsite.com/response.aspx?id1=1

response.aspx.cs文件中,id的值被读取并写入Page_Load函数中的数据库。

现在,一旦将数据写入数据库,我希望网页从当前的网页重定向到新的网页,例如“Learn.aspx”。在页面加载函数中,我添加了代码Response.Redirect("Learn.aspx"),但这似乎没有重定向到任何地方。实际上,如果我改为在浏览器中键入命令www.mywebsite.com/response.aspx,那么它会重定向到新的Learn.aspx页面,但是当url被调用为回调时,Response.Redirect函数似乎不是工作但是代码进入页面加载功能,因为值正在写入数据库。

非常感谢任何帮助解决这个问题。

感谢

1 个答案:

答案 0 :(得分:2)

如果您说要重定向第三方网络应用程序(调用您的网页),则不能。

返回一个响应,该响应向第三方应用程序指示他们应该执行重定向。

例如,你可以像这样返回一个json响应:

{
    "redirect": true,
    "redirectUrl": "http://mysite.com/learn.aspx"
}

然后在第三方应用程序中,这样的事情:

// code to call your application here

if (jsonResponse.redirect == true)
{
    Response.Redirect(jsonResponse.redirectUrl);
}