response.redirect无法在chrome或firefox中运行

时间:2014-03-15 16:21:50

标签: asp.net

我有一个问题。我很感激回答。

我有一个Gridview,在其一列(在itemtemplate内)包含一个按钮。

我在Gridview rowcommand事件中编写了一个程序,用于将response.redirect用于自己的页面。 但是这个response.redirect没有在chrome或firefox上工作。 但是正确地在IE中工作。

2 个答案:

答案 0 :(得分:0)

您可以检测浏览器类型/名称,如

HttpBrowserCapabilities bc = Request.Browser;
string bname = bc.Browser;

然后检查bname是否包含firefox/chrom等词(使用if条件)然后通过JS客户端脚本重定向,否则使用response.redirect

        string PageUrl = "http://www.someurl.com";

        ClientScript.RegisterClientScriptBlock(this.GetType(), "someKeyRedir",
        "window.location.href = '" + PageUrl + "';", true);

答案 1 :(得分:0)

我很感激回答。我的代码是:

public void G2_RowCommand(object sender, GridViewCommandEventArgs e)// in GridView,each button that be clicked,call this Gridview event 
{
    if (e.CommandName == "edit")//if this condition was true , 
    {
        Session.Remove("type");
        Session.Add("taskReport_id",e.CommandArgument.ToString());
        Response.Redirect("Default3.aspx#3");
      }  
    }

我在下面试过,但这也不起作用

Page.ClientScript.RegisterStartupScript(Page.GetType(), "script", "window.location.href='Default3.aspx#3';", true);