【问题标题】:ASP Repeater Not Updating After Databind数据绑定后 ASP 中继器未更新
【发布时间】:2012-05-31 19:16:59
【问题描述】:

有点复杂的问题,但我有一个自定义用户控件(“名册列表”),其中包含一个 ASP 中继器。此控件有一个名为 RefreshRosterList 的方法,该方法在控件的 Page_Load 上调用。该控件被动态插入到 UpdatePanel 中。

母版页包含两个更新面板 - 一个用于我的花名册列表,一个用于其他控件。

我有一个导致回发的单独控件。此控件(“合并课程”)将新记录插入数据库并调用我的 RefreshRosterList 方法。

在我的 RefreshRosterList 方法的最后是调用将我的中继器与新数据进行数据绑定。我知道当它绑定到中继器时数据是正确的。

我说它没有更新,但我发现如果我提交第二个帖子,Repeater 将显示新项目。我的意思是如果我创建一个名为 CIS161 的 CIS161-01 和 CIS161-02 的合并,它不会显示。合并之后,如果我创建 CIS171-01 和 CIS171-02 的第二次合并,称为 CIS171,那么 CIS161 合并将显示,但 CIS171 合并不会显示。

如何让我的第一个合并显示在数据绑定上?

我希望这是有道理的。我可以尝试提供任何必要的代码,但它分布在许多不同的文件中。

【问题讨论】:

    标签: c# asp.net custom-controls updatepanel repeater


    【解决方案1】:

    您需要将控件设置为花名册列表所在的更新面板的触发器或自己触发更新。

    【讨论】:

    • 我可以将控件设置为它不在的 UpdatePanel 的触发器吗?如果是这样,我将如何去做?编辑:我也尝试使用 FindControl() 找到 UpdatePanel 并调用它的 Update() 方法,但这不起作用。
    • 是的,我的合并控件的页面加载事件中有以下内容。 ScriptManager sm = (ScriptManager)Page.Master.FindControl("ScriptManager1");sm.RegisterAsyncPostBackControl(btnMerge);
    猜你喜欢
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多