我在验证登录凭据后调用response.redirect 这一切在.net framework 3.5 中正常工作,但是当我升级到.net 4.5时 没有任何反应。它保持在同一页面上。Response.Redirect在.Net 4.5中不起作用
我已经试过各种排列
System.Web.HttpContext.Current.Response.Redirect("/");
System.Web.HttpContext.Current.Response.Redirect("/", false);
System.Web.HttpContext.Current.ApplicationInstance.CompleteRequest();
似乎没有任何工作 我已经把一个尝试捕捉周围和使用假时,我没有得到任何的异常。
该代码被调用了一个asp:button onClick事件。在点击事件过程中,我检查凭据是否正确,如果他们是我执行登录设置会话变量...并将其重定向到相应的登录页面以查看其角色。
更多信息 我把我的问题归结为基本情况。在以下情况中,两个按钮都会调用调用Response.redirect的相同函数btnTemp_Click。在asp:按钮的情况下,它在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:按钮不再起作用
如果我创建了一个全新的Web应用程序,并没有任何在它不过这两个按钮它的工作原理对彼此而言。所以我必须有一些代码在onserverclick命中的地方做某事,但onclick不会。
你能给这个代码的情况下更多的细节?它被用于Web窗体,MVC或其他东西吗?如果Web窗体,你在(Load,Pre Init,LoadComplete等)中使用了哪个事件?不知道更多,这将很难回答。 – Ryan
'Response.Redirect'总是抛出一个异常。这就是为什么你认为你需要一个'try/catch'。它不会抛出'false'的原因是因为第二个参数决定线程是否中止。现在,当你说它不起作用时,那是可疑部分。 **你怎么知道*它不工作?** –
尝试改变'Response.Redirect(“/”)''Response.Redirect(“〜/”)' – th1rdey3