Frage

Ich habe einen ASP.NET -Repeater, dessen ItemTemplate ein WebuScontrol namens ProviderControl ist.

<asp:Repeater ID="rep" runat="server" OnItemDataBound="rep_ItemDataBound">
    <ItemTemplate>
        <custom:ProviderControl ID="row" runat="server" />
    </ItemTemplate>
</asp:Repeater>

Ich bevölkern die benutzerdefinierte Steuerung mit Daten in der ItemDataBound Veranstaltung.

In der Bedienung des Anbieters habe ich zwei Tasten, auf die ich auf der Seite enthält. Ich weiß, dass es Befehle und Befehlsargumente gibt, aber wie würde ich das machen?

Oder gibt es einen einfacheren Weg, als Befehle zu verwenden?

War es hilfreich?

Lösung

Sie müssen umgehen ItemCommand Veranstaltung von "Repeater".

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        Button btn = e.CommandSource as Button;
        Response.Write(btn.ID);
    }

Andere Tipps

Der beste Weg wäre, benutzerdefinierte Veranstaltungen in Ihrem zu bieten UserControl Für jedes Schaltflächen-Klick-Ereignis. Das UserControl wird erhöht und die Seite kann sie verarbeiten.

http://www.codeprroject.com/articles/8797/mastering-page-uercontrol-communication#4.3

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top