我在验证登录凭据后调用 response.redirect,这在 .net framework 3.5 中一切正常,但是当我升级到 .net 4.5 时没有任何反应。它保持在同一页面上。
我尝试了各种排列
System.Web.HttpContext.Current.Response.Redirect("/");
System.Web.HttpContext.Current.Response.Redirect("/", false);
System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
似乎没有任何效果我已经尝试了它,并且在使用 false 时我没有得到任何异常。
该代码正在从 asp:button onClick 事件中调用。在单击事件期间,我检查凭据是否正确,如果它们是,我执行登录设置会话变量......并将它们重定向到其角色的适当登录页面。
更多信息 我将我的问题归结为一个基本场景。在以下场景中,两个按钮调用相同的函数 btnTemp_Click,该函数调用 Response.redirect。在 asp:button 的情况下,它在 HTML5 按钮的情况下不起作用。在这两种情况下,response.redirect 上的断点都会被执行。
<asp:Button ID="btnTemp" Text="Test Redirect" runat="server" OnClick="btnTemp_Click" />
<button id="btnTmp2" runat="server" onserverclick="btnTemp_Click" >button to Redirect</button>
protected void btnTemp_Click(object sender, EventArgs e)
{
HttpContext.Current.Response.Redirect("http://www.google.com", false);
}
单击按钮后其他奇怪的东西asp:button不再起作用
如果我创建了一个全新的 Web 应用程序,其中除了这两个按钮之外什么都没有,它对两者都适用。所以我必须有一些代码在 onserverclick 命中但 onclick 没有命中的地方做某事。