2009-05-20 73 views
0

我想访问与其中启动ItemCommand的RepeaterItem关联的数据。该方案是,我有一个Button控件在命令设置声明这样多RepeaterItems:在命令执行中访问与RepeaterItem相关联的数据

<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 

回答

3

您可以使用e.Item.DataItem强制转换来获得直到对象的数据,或者您可以将其存储在隐藏字段中。

1

建立在Mitchel说的基础上,确保检查RowType是否为DataRow。当你不能做时不想做废话。从e.Item.DataItem到您的类型的转换在页眉或页脚行上失败。