数据绑定后,转发器未更新

时间:2017-12-20 12:40:22

标签: c# asp.net .net data-binding

我有一个页面,上面有一个转发器。在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);
    }
}

1 个答案:

答案 0 :(得分:1)

由于Repeater位于UpdatePanel之外,因此在异步回发后不会刷新它。仅刷新UpdatePanel的内容。

将Repeater移动到UpdatePanel内部或由另一个UpdatePanel包装。