Response.Redirect不会将Page1.aspx的URL更改为Page2.aspx

时间:2013-06-07 07:16:12

标签: asp.net response.redirect

我正在使用Response.Redirect将用户从 ProductListPage.aspx 重定向到 DocumentListPage.aspx ,并使用查询字符串传递ID。

protected void Click_btnHiddenRow(object sender, EventArgs e)
{
     Response.Redirect("DocumentListPage.aspx?id=" +
     this.txtSelectedID.Value);
}

页面内容正在发生变化,因此用户实际上已重定向到第二页,也会传递ID,但浏览器中的网址仍为http://localhost:60559/Pages/ProductListPage.aspx

我正在经历其他一些不相关的异常情况,我认为这可能是问题所在。

使用 Response.Redirect 时,网址是否正常?

~~~

我还想补充一个可能与情况有关的异常情况。

DocumentListPage.aspx 页面中,我有一个带有代码隐藏事件处理程序的按钮。但是,单击此按钮时,它不会进入事件方法,而是触发 ProductListPage.aspx 的Page_Load事件方法中的断点。

2 个答案:

答案 0 :(得分:2)

  

使用Response.Redirect时,网址的情况是否正常?

是的,如果您使用AJAX请求来调用此Click_btnHiddenRow函数。目前还不清楚这个事件处理程序绑定了什么控件,但如果你使用AJAX来调用它,那就可以解释这个行为。

答案 1 :(得分:0)

这种情况对Server.Transfer来说是正常的,但Response.Redirect不正常。重定向会向浏览器发送以下响应:

HTTP 1.0 302 Object Moved 
Location: http://example.com

导致它触发对新资源的GET请求。从事件处理程序Click_btnHiddenRow判断(隐藏部分)Darin可能是对的 - 您正在执行ajax请求吗?