我有一个页面,上面有一个转发器。在Button(btnExport)
点击我将数据导出到Excel,因此我在UpdatePanel
中添加了一个按钮PostBackTrigger
。
我method(BindData)
databinding
转发器。所以我的问题是当我在BindData
中添加Button click(btnExport_click)
方法时,转发器没有刷新(PS:Dataset
返回更新的新值和DataBind()
方法有效,但转发器不刷新这是我的第一篇文章,对不起,如果问题不完全清楚的话。谢谢你。
<asp:Repeater ID="rptGoods" runat="server">
<ItemTemplate>
<asp:Literal ID="litGoodCode" runat="server" Text='<%#
Eval("GOODS_CODE") %>' />
<asp:Literal ID="litGoodName" runat="server" Text='<%#
Eval("GOODS_CNAME") %>' />
</ItemTemplate>
</asp:Repeater>
<asp:Button ID="btnExport" runat="server" Text="Export" OnClick="btnExport_click" />
<asp:UpdatePanel ID="Upd_Export" runat="server" >
<ContentTemplate>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="btnExport" />
</Triggers>
</asp:UpdatePanel>
protected void btnExport_click(object sender, EventArgs e)
{
ExportToExcel();
BindData();
}
private void BindData()
{
try
{
rptGoods.DataSource = /Here I get Dataset/
rptGoods.DataBind();
}
catch (Exception ex)
{
ExceptionHelper exsaver = new ExceptionHelper();
exsaver.SaveException(ex);
}
}
答案 0 :(得分:1)
由于Repeater位于UpdatePanel之外,因此在异步回发后不会刷新它。仅刷新UpdatePanel的内容。
将Repeater移动到UpdatePanel内部或由另一个UpdatePanel包装。