Доступ к данным, связанным с RepeaterItem при выполнении команды - PullRequest
1 голос
/ 20 мая 2009

Я хочу получить доступ к данным, связанным с RepeaterItem, в котором запущена ItemCommand. Сценарий таков: у меня есть несколько RepeaterItems, элементы управления Button, в которых команда задана декларативно следующим образом:

<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>

Код:

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

Ответы [ 2 ]

4 голосов
/ 20 мая 2009

Вы можете использовать e.Item.DataItem, чтобы перейти к данным для объекта, или вы можете сохранить их в скрытом поле.

1 голос
/ 20 мая 2009

Основываясь на том, что сказал Митчел, убедитесь, что вы проверили, что RowType имеет значение DataRow . Не хочу делать дерьмо, когда не можешь. Преобразование из e.Item.DataItem в ваш тип не будет выполнено в строке верхнего или нижнего колонтитула.

...