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