2009-05-20 16 views
0

ItemCommandが起動したRepeaterItemに関連付けられたデータにアクセスしたいとします。シナリオは、私は、コマンドを宣言このように設定されたButtonコントロールの複数のRepeaterItems持っている、である:あなたが取得するe.Item.DataItemを使用することができますコマンド実行時にRepeaterItemに関連付けられたデータにアクセスする

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 

答えて

3

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

背後にあるコードをありますオブジェクトのデータに変換するか、隠しフィールドに保存することができます。

1

Mitchelの説明に基づいて、RowTypeがDataRowであることを確認してください。あなたができないときには駄目をしたくありません。 e.Item.DataItemから型へのキャストは、ヘッダーまたはフッターの行で失敗します。

関連する問題