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

问题描述 投票:1回答:1

我有一个页面,上面有一个转发器。在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);
    }
}
c# asp.net .net data-binding
1个回答
1
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.