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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据绑定后,转发器未更新相关的知识,希望对你有一定的参考价值。

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

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

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

以上是关于数据绑定后,转发器未更新的主要内容,如果未能解决你的问题,请参考以下文章

插入和更新后未触发 SQL Server 触发器

实体模式下的 NSArrayController 在具有内容绑定的 NSTableView 被编辑后未更新

刷新 WPF Datagrid 未绑定到可观察集合?

绑定后 CSS 类样式未更新

2021-09-14 WPF上位机 13-属性绑定(源更新触发器)

在 ViewModel 中更新其绑定后,按钮未启用 [重复]