我在转发器中有一个下拉列表,当单击转发器内的按钮时,我需要访问所选数据的列表项中包含数据。我的HTML代码如下
<asp:Repeater runat="server" ID="rptrData" OnItemCommand="rptrData_ItemCommand">
<ItemTemplate>
<tr role="row" class="odd">
<td>
<asp:DropDownList ID="ddlProgress" runat="server">
<asp:ListItem Value="0">No Basement</asp:ListItem>
<asp:ListItem Value="1">Basement</asp:ListItem>
<asp:ListItem Value="2">Lintel</asp:ListItem>
<asp:ListItem Value="3">Roof</asp:ListItem>
</asp:DropDownList></td>
<td>
<div class="btn-group btn-group-xs">
<asp:Button ID="Update" runat="server" Text="Update" UseSubmitBehavior="False" CommandName="Update" />
</div>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
答案 0 :(得分:1)
您可以在FindControl
项目上使用RepeaterCommandEventArgs
,因为Repeater是发件人。
protected void rptrData_ItemCommand(object source, RepeaterCommandEventArgs e)
{
//use findcontrol to locate the DDL and cast it
DropDownList drp = e.Item.FindControl("ddlProgress") as DropDownList;
//show result
Label1.Text = drp.SelectedValue;
}
请注意ddlProgress
中的所有值均为0
,这可能会导致问题。使那些独特。