从转发器控件触发更新面板的异步回发

时间:2013-04-19 12:44:48

标签: asp.net

我在Repeater中有一个ASP.NET UpdatePanel控件。点击ImageButtonRepeater模板内部)时,我需要更新另一个控件。问题是我无法触发。

小组upPanelRotator已刷新...我想...我只是想回电话给服务器更新另一个小组 - 我和#39 ; ll从服务器控制。

有什么想法吗?

<asp:UpdatePanel ID="upPanelRotator" runat="server" UpdateMode="Conditional">
    <ContentTemplate>
        <asp:Repeater ID="rptRotator" runat="server" OnItemCommand="rptRotator_ItemCommand">
            <ItemTemplate>
                <asp:ImageButton ID='imgBtn' runat="server" />
        </asp:Repeater>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="imgBtn" EventName="ItemCommand" />
    </Triggers>
</asp:UpdatePanel>

3 个答案:

答案 0 :(得分:0)

如果PanelA有触发按钮,并且您想要更新PanelB,则需要在PanelB周围的UpdatePanel上安装异步回发触发器。问题是,你需要给出按钮的实际ID,指定imgButton就像你上面的那样不起作用(因为转发器中可能有很多,而async触发器需要一个它不能用的引用找)。为了使这个非常简单,请将所有内容包装在UpdatePanel中,这将使您的生活更轻松。否则,您必须从我认为的代码中添加异步回发触发器。

答案 1 :(得分:0)

您应该能够将async postback触发器添加到要更新的updatepanel。将转发器的控件ID和“ItemCommand”事件设置为事件名称......如下所示:

<asp:UpdatePanel ID="updatePanel2" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="repeaterId" EventName="ItemCommand" />
    </Triggers>
    <ContentTemplate>

...

答案 2 :(得分:0)

我现在有类似的情况,我这样做是为了让我将控件包含在另一个 UpdatePanel 中的 Repeater 中,并设置 AutoPostBack =“true “该控件,并注册

<强>&LT; asp:AsyncPostBackTrigger ControlID =“imgBtn”EventName =“Click”/&gt;

我对此的唯一考虑是,如此数量的UpdatePanel将如何反映性能。我有一个小项目,几乎没有数据库条目,但是对于大量的数据,我会在这种干预之前和之后测试性能。