Response.Redirect在更新面板中不起作用

时间:2016-05-11 19:19:16

标签: asp.net updatepanel

我在客户端使用An UdatePanel并在代码后面使用response.redirect。但是由于updatepanel它没有工作。有没有办法在使用updatepanel时实现response.redirect.I googled,saw许多答案,但没有得到确切答案。

  <asp:UpdateProgress ID="UpdateProgress1" AssociatedUpdatePanelID="UpdatePanel1" runat="server">
    <ProgressTemplate>
        <div class="loading">
            <div class="loader">
                <center>
        Please wait...<br />
        <img src="images/loadinfo.gif" alt="Loading..." />
      </center>
            </div>
        </div>
    </ProgressTemplate>
</asp:UpdateProgress>

背后的代码

 protected void btnsubmit_Click(object sender, EventArgs e)
{

            statuslabel.Text = "Updated Successfully,Redirecting....";
            Response.AddHeader("REFRESH", "2;URL=Printsticker.aspx?itemId=" + hdApplication.Value);
}

2 个答案:

答案 0 :(得分:0)

您可以使用Response.Redirect

protected void btnsubmit_Click(object sender, EventArgs e)
{
    Response.Redirect("Printsticker.aspx?itemId=" + hdApplication.Value);
}

根据我的测试,它适用于UpdatePanel内的按钮。根据{{​​3}},我使用的是ASP.NET 4.0,它可以有所作为。作者提到他在旧版本的框架中遇到了Response.Redirect和UpdatePanels的问题。

答案 1 :(得分:0)

由于Update Panel是通过AJAX调用更新的,因此您无法真正进行服务器端重定向。

但您可以通过客户端脚本更改位置:

ClientScript.RegisterStartupScript(this.GetType(), "scr", string.Format("location.href='Printsticker.aspx?itemId={0}';", hdApplication.Value), true);