如何在单击按钮时访问转发器内的下拉列表中的数据

时间:2017-12-09 11:30:18

标签: c# asp.net

我在转发器中有一个下拉列表,当单击转发器内的按钮时,我需要访问所选数据的列表项中包含数据。我的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>

1 个答案:

答案 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,这可能会导致问题。使那些独特。