ASP.net - LinkButtons in einem Repeater in einem UpdatePanel nicht auslösen eines Postbacks jeglicher Art

Meine Seite enthält einen Repeater, der ist geladen mit Daten asynchron als die Daten verfügbar sind, mit einem UpdatePanel zu verwalten, die asynchrone Anfragen.

Enthält die Seite ein wenig etwas wie dieses:

 <asp:UpdatePanel ID="DataUpdatePanel" runat="server">
 <ContentTemplate>
 <table>
    <asp:Repeater ID="RepeaterBlock" runat="server">
    <HeaderTemplate><thead><tr><th>Name</th><th>Status</th><th class="empty"></th></tr></thead></HeaderTemplate>
    <ItemTemplate><tr>
        <td><a class="link" href="Detail.aspx?item=<%# DataBinder.Eval( Container.DataItem, "Name") %>"><%# DataBinder.Eval( Container.DataItem, "Name") %></a>
        </td>
        <td><%# DataBinder.Eval( Container.DataItem, "Status") %></td>
        <td class="no-border">
            [<asp:LinkButton CommandName='Schedule' CommandArgument='<%# DataBinder.Eval(Container.DataItem, "Name") %>' ID="ScheduleButton" runat="server" CausesValidation="false" >Schedule</asp:LinkButton>]
        </td>
     </tr></ItemTemplate>
    </asp:Repeater>
</table>
</ContentTemplate>
</asp:UpdatePanel>

Das problem ist, dass der LinkButton nicht angezeigt wird, die zum auslösen eines Postbacks jeglicher Art - es gibt keine sichtbare Reaktion auf einen Klick und setzen Sie einen Haltepunkt auf der Ereignis-listener, die in der codebehind, es wird nie ausgelöst.

Ich habe versucht manuell hinzufügen einen Auslöser wie diesen:

<Triggers>
   <asp:AsyncPostBackTrigger ControlID="ScheduleButton" />
</Triggers>

Aber leider becausee die Kontrollen sind in der ContentTemplate stürzt es aus, wenn ich versuche, das zu tun.

Einen anderen Weg habe ich erforscht ist explizit fügen Sie in der codebehind:

  RepeatData.DataBind();
  RepeatData.ItemCommand += new RepeaterCommandEventHandler(RepeatData_ItemCommand);

  UpdateScripts.RegisterAsyncPostBackControl(FindControlRecursive( RepeatData, "SchedulButton"));

Den FindControlRecursive Methode nur verhält wie FindControl nur es eigentlich findet Steuerelemente.

Dass nicht abstürzt, aber es ist auch nicht die Ursache der LinkButtons, um wirksam zu werden.

Kann jemand empfehlen, was ich tun müssen, um zu bewirken, dass Sie post zurück, wie ich es von Ihnen erwarten?

Edit: Ursprünglich hatte ich diese Seite arbeitet ohne UpdatePanel und es funktionierte gut, mit mehr Daten es begann timing, so dass ich benötigt, um die Daten asynchron. Es war, als ich diese änderung vorgenommen, dass die linkbuttons aufgehört zu arbeiten.

welches Ereignis hat ein handler registriert? ich kann nicht sehen, in Ihr angegebene markup.
Es ist nicht in der markup - das ist, warum ich bin, indem es der Repeater in der zweiten Zeile der Ausschnitt aus dem CodeBehind gibt.

InformationsquelleAutor glenatron | 2010-09-13

Schreibe einen Kommentar