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

Asp.net Response.Redirect不会将Page1.aspx的URL更改为Page2.aspx,asp.net,response.redirect,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); } 页面内容正在更改,因此用户

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

protected void Click_btnHiddenRow(object sender, EventArgs e)
{
     Response.Redirect("DocumentListPage.aspx?id=" +
     this.txtSelectedID.Value);
}
页面内容正在更改,因此用户实际上被重定向到第二个页面,id也被传递,但是浏览器中的URL仍然是
http://localhost:60559/Pages/ProductListPage.aspx

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

使用Response.Redirect时,URL的情况是否正常

~~~

我还要补充一个可能与局势实际相关的反常现象

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

使用Response.Redirect时,URL的情况是否正常


是的,如果您使用AJAX请求调用此
函数,请单击\u btnHiddenRow
函数。不清楚此事件处理程序绑定到什么控件,但如果您使用AJAX调用它,这将解释该行为。

这种情况对于
服务器是正常的。传输
,但对于
响应。重定向
则不正常。重定向将以下响应发送到浏览器:

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

导致它触发获取新资源的请求。从事件处理程序
判断,单击\u btnHiddenRow
(隐藏部分)Darin可能是对的-您正在执行ajax请求?

实际上,btnHiddenRow是一个隐藏按钮。我有一个表,当用户单击其中一行时,btnHiddenRow通过JQuery被单击。你认为这可能是问题所在吗?如果是的话,有什么解决办法吗?是的,这正是问题所在。解决方法是在jQueryAjax调用的成功回调中执行重定向,而不是在服务器上。以下是如何使用javascript重定向:
window.location.href='/DocumentListPage.aspx?id=123'。但是,如果要重定向,那么使用AJAX是毫无意义的。AJAX的全部目的是保持在同一个页面上,只刷新页面的一部分。因此,作为一种解决方法,我建议您删除AJAX调用并执行到服务器的完整回发,这样您就可以像当前一样重定向。修复了!:)非常感谢您@Darin Dimitrov