在我的.net 3.5网络应用中,我使用response.redirect将用户重定向到另一个页面。
这适用于所有浏览器,但不适用于Firefox浏览器。我不知道为什么?
Response.Redirect("~/"+ GlobalConsts.ARTICLE_ANALYSER_URL +"?"+ GlobalConsts.QUERYSTRING_KEY_ONE +
SessionHandler.RedirectToArticleID + GlobalConsts.QUERYSTRING_KEY_TWO +
SessionHandler.RedirectToArticleParentOrChild);
答案 0 :(得分:6)
尝试安装此Firefox扩展程序并记录发送到客户端的标头:
https://addons.mozilla.org/en-US/firefox/addon/3829
标题可以让您更深入地了解出现了什么问题。
答案 1 :(得分:3)
答案 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);