【发布时间】:2018-06-03 00:41:52
【问题描述】:
我有一个页面,上面有一个转发器。在Button(btnExport) 上单击我将数据导出到Excel,因此我在UpdatePanel 中添加按钮一组PostBackTrigger。
我有method(BindData) databinding 一个中继器。所以我的问题是,当我在Button click(btnExport_click) 中添加BindData 方法时,转发器不刷新(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);
}
}
【问题讨论】:
-
Repeater 是否位于 UpdatePanel 之外?看到这个帖子:stackoverflow.com/questions/2864692/…
-
您无法导出文件并更新 UI。这是一个或另一个。
-
感谢您的回复。我认为 PostBackTrigger 有问题
-
不,问题正是 VDWWD 所说的。你可以做一个或另一个,而不是在同一个响应中。如果您希望用户下载文件,请打开一个单独的选项卡/窗口以供下载。
-
你是对的。导出必须在单独的选项卡上。谢谢大家
标签: c# asp.net .net data-binding