我在客户端使用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);
}
答案 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);