ASP.NET在Repeater Control中查找DropDown值

时间:2009-05-31 15:50:21

标签: asp.net vb.net datarepeater

好的,我对这个问题有几个问题,我希望这次我更清楚。

我想在转发器控件中找到许多下拉控件的值。我最终想要构建一个多维数组,因此我可以遍历每个项目并将它们添加到数据库表中。

<asp:Repeater ID="myRepeater" runat="server">
<ItemTemplate>
     <asp:DropDownList ID="AdTitle" runat="server">
         <asp:ListItem Selected="True" Value="" Text=""/>
         <asp:ListItem Selected="False" Value="Miss" Text="Miss"/>
         <asp:ListItem Selected="False" Value="Ms" Text="Ms"/>
         <asp:ListItem Selected="False" Value="Mrs" Text="Mrs"/>
         <asp:ListItem Selected="False" Value="Mr" Text="Mr"/>
         <asp:ListItem Selected="False" Value="Other" Text="Other"/>
     </asp:DropDownList>

     <asp:TextBox ID="AdFullName" runat="server"></asp:TextBox>
</ItemTemplate>

<ItemTemplate>
     <asp:DropDownList ID="AdTitle" runat="server">
         <asp:ListItem Selected="True" Value="" Text=""/>
         <asp:ListItem Selected="False" Value="Miss" Text="Miss"/>
         <asp:ListItem Selected="False" Value="Ms" Text="Ms"/>
         <asp:ListItem Selected="False" Value="Mrs" Text="Mrs"/>
         <asp:ListItem Selected="False" Value="Mr" Text="Mr"/>
         <asp:ListItem Selected="False" Value="Other" Text="Other"/>
     </asp:DropDownList>

     <asp:TextBox ID="AdFullName" runat="server"></asp:TextBox>
</ItemTemplate>

1 个答案:

答案 0 :(得分:6)

您需要遍历转发器项并获取每个值。下面的代码示例是在C#中,但应该能够相对容易地转换为VB.NET。

foreach (RepeaterItem ri in myRepeater.Items)
{
    switch (ri.ItemType)
    {
        case ListItemType.Item:
        case ListItemType.AlternatingItem:

            DropDownList AdTitle = (DropDownList) ri.FindControl("AdTitle");
            TextBox AdFullName = (TextBox) ri.FindControl("AdFullName");

            string selectedAdTitle = AdTitle.SelectedValue;
            string enteredAdFullName = AdFullName.Text;

            // Do something with values here

        break;
    }
}