2009-05-20 5 views
0

Ich möchte auf die Daten zugreifen, die mit dem RepeaterItem verknüpft sind, in dem ein ItemCommand ausgelöst wurde. Das Szenario ist, dass ich mehrere RepeaterItems haben, die Button-Steuerelemente in dem der Befehl deklarativ wie folgt festgelegt ist:Zugreifen auf Daten im Zusammenhang mit dem RepeaterItem bei Ausführung des Befehls

<asp:Repeater ID="Repeater3" runat="server" DataSource='<%# ClientManager.GetClientEmployees(Eval("ClientID")) %>' OnItemCommand="RemoveEmployeeFromClient"> 
                   <ItemTemplate> 
                    <asp:LinkButton ID="LinkButton1" runat="server" Text="(x)" CommandName="RemoveEmployeeFromClient"></asp:LinkButton> 
                   </ItemTemplate> 
                   <SeparatorTemplate>,<br /></SeparatorTemplate> 
                  </asp:Repeater> 

Der Code hinter ist:

Protected Sub RemoveEmployeeFromClient(ByVal source As Object, ByVal e As RepeaterCommandEventArgs) 
     ' I want to access the data associated with the RepeaterItem which the Button was clicked. 
    End Sub 

Antwort

3

Sie können e.Item.DataItem benutzen Sie bis zu den Daten für das Objekt, oder Sie könnten es in einem versteckten Feld speichern.

1

Aufbauend auf was Mitchel sagte, stellen Sie sicher, dass Sie überprüfen, dass der RowType DataRow ist. Ich will keinen Mist machen, wenn du es nicht kannst. Die Umwandlung von e.Item.DataItem in Ihren Typ würde in der Kopf- oder Fußzeile fehlschlagen.

Verwandte Themen