updatePanel中的button的click事件中不能使用response.write()
2010-11-25 13:51
232 查看
updatePanel中的button的click事件中不能使用response.write()等方法的解决办法有两种。
1,把button移到updatePanel外边
2,添加Triggers.
aspx.cs中,click事件:
这样做的话,如果页面很长,右侧会有一个垂直滚动条。每次点击页面低端的button,都会postBack,滚动条会滚动到最上端。
这个问题的解决办法:
如果是2.0以上的话,只需要在<%@ Page Language="C#" AutoEventWireup="true" %>里添加MaintainScrollPositionOnPostback="true"
其他postBack后想保持滚动条原来的位置,都可以这么解决。
1,把button移到updatePanel外边
2,添加Triggers.
<asp:UpdatePanel ID="UpdatePanel3" runat="server" UpdateMode="Conditional"> <ContentTemplate> <asp:Button ID="btn" runat="server" Text="Create" CausesValidation="false" onclick="btn_Click"/> </ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID="btn" /> </Triggers> </asp:UpdatePanel>
aspx.cs中,click事件:
protected void btn_Click(object sender, EventArgs e) { IList<AA> aaList = ...; StringBuilder sb = new StringBuilder(); foreach (AA aa in aaList) { sb.AppendLine(aa.ss); } try { string attachment = "attachment; filename=PersonList.txt"; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ClearHeaders(); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.AddHeader("content-disposition", attachment); HttpContext.Current.Response.ContentType = "text/txt"; HttpContext.Current.Response.AddHeader("Pragma", "public"); HttpContext.Current.Response.Write(sb.ToString()); HttpContext.Current.Response.Write(Environment.NewLine); HttpContext.Current.Response.End(); } catch (Exception ex) { string s = ex.Message; } }
这样做的话,如果页面很长,右侧会有一个垂直滚动条。每次点击页面低端的button,都会postBack,滚动条会滚动到最上端。
这个问题的解决办法:
如果是2.0以上的话,只需要在<%@ Page Language="C#" AutoEventWireup="true" %>里添加MaintainScrollPositionOnPostback="true"
其他postBack后想保持滚动条原来的位置,都可以这么解决。
相关文章推荐
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- (转)解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
- 使用UpdatePanel后再用Response.Write();
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题(转)
- (转)解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
- 解决AJAX中使用UpdatePanel后再用Response.Write();无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题(转)
- (转)解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题 3法
- 解决AJAX中使用UpdatePanel后再用Response.Write();等无法弹出对话框问题