firefox中的asp.net重定向无法正常工作

时间:2009-05-31 20:28:32

标签: asp.net firefox response.redirect

在我的.net 3.5网络应用中,我使用response.redirect将用户重定向到另一个页面。

这适用于所有浏览器,但不适用于Firefox浏览器。我不知道为什么?

Response.Redirect("~/"+ GlobalConsts.ARTICLE_ANALYSER_URL +"?"+ GlobalConsts.QUERYSTRING_KEY_ONE + 
            SessionHandler.RedirectToArticleID + GlobalConsts.QUERYSTRING_KEY_TWO + 
            SessionHandler.RedirectToArticleParentOrChild);

7 个答案:

答案 0 :(得分:6)

尝试安装此Firefox扩展程序并记录发送到客户端的标头:

https://addons.mozilla.org/en-US/firefox/addon/3829

标题可以让您更深入地了解出现了什么问题。

答案 1 :(得分:3)

请务必首先查看fiddler

我喜欢您在链接的论坛中提出的建议,关于它不是重定向的错误,而是浏览器缓存的问题。尝试设置过期标题。

如果以上情况不这样做,请与小提琴手分享更多您的发现。

答案 2 :(得分:1)

<强>更新

只需手动执行重定向,而不是使用Response.Redirect:

Response.Clear();
Response.Status = "302 Found";
Response.StatusCode = 302;
Response.AddHeader("Location", url);
Context.ApplicationInstance.CompleteRequest();

旧帖子

根据本文http://www.mrclay.org/2011/07/03/firefox-5-shibboleth-issues/

,这可能是一个缓存问题

您可能需要删除您在响应中发送的所有缓存标头。因此,将缓存标头设置为不缓存,然后将响应重定向设置为:

Response.Cache.SetCacheability(HttpCacheability.NoCache); 
Response.Redirect("~/"+ GlobalConsts.ARTICLE_ANALYSER_URL +"?"+ GlobalConsts.QUERYSTRING_KEY_ONE + 
            SessionHandler.RedirectToArticleID + GlobalConsts.QUERYSTRING_KEY_TWO + 
            SessionHandler.RedirectToArticleParentOrChild);

答案 3 :(得分:0)

在Firefox中,检查 about:config 设置 network.http.redirection-limit (应该大于1)。

使用FireFox进行常规开发疑难解答的快速提示:获取Firebug扩展名。

答案 4 :(得分:0)

你可以创建一个javascript函数,并在需要重定向时调用它,

//javascript
function RedirectJS(url){
    window.location.href=url;
}
在代码隐藏中

修改按钮的onclick属性

//C#
protected void Page_Load(object sender, EventArgs e)
{
     if(!IsPostBack)
     {
          Button1.OnClientClick = "RedirectJS('"+HttpContext.Current.Request.ApplicationPath+"/"+GlobalConsts.ARTICLE_ANALYSER_URL +"?"+ GlobalConsts.QUERYSTRING_KEY_ONE + SessionHandler.RedirectToArticleID + GlobalConsts.QUERYSTRING_KEY_TWO + SessionHandler.RedirectToArticleParentOrChild+"');";
     }
}

答案 5 :(得分:0)

试试这件:

Response.Redirect("~/"+ GlobalConsts.ARTICLE_ANALYSER_URL +"?"+ GlobalConsts.QUERYSTRING_KEY_ONE + 
            SessionHandler.RedirectToArticleID + GlobalConsts.QUERYSTRING_KEY_TWO + 
            SessionHandler.RedirectToArticleParentOrChild,false);

答案 6 :(得分:-1)

试试这个: Response.RedirectPermanent(url,true);