【问题标题】:How to get dropdownlist value within a repeater, to be inserted in a method?如何在转发器中获取下拉列表值,以插入方法中?
【发布时间】:2026-01-30 18:55:01
【问题描述】:

我的 .aspx 页面上有这个中继器:

<asp:Repeater ID="RptCart" runat="server" OnItemDataBound="RptCart_ItemDataBound"
            OnItemCommand="RptCart_ItemCommand">
            <HeaderTemplate>
                <table class="style1" style="border-style: solid; border-width: 1px">
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td colspan="2">
                        &nbsp;
                    </td>
                    <td valign="top">
                        NUMBER OF SHIRTS
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td valign="top">
                        EXTRAS
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td valign="top">
                        DISCOUNTS
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td valign="top">
                        SUBTOTAL
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        &nbsp;
                    </td>
                </tr>
                <tr>
                    <td>
                        <%# Container.ItemIndex + 1 %>
                    </td>
                    <td style="text-align: center">
                        <asp:Image ID="imgFabric" runat="server" Width="55px" Height="55px" />
                    </td>
                    <td>
                        <br />
                        Quantity<br />
                        <asp:DropDownList ID="ddlQuantity" runat="server" AutoPostBack="true">
                            <asp:ListItem Value="1">1</asp:ListItem>
                            <asp:ListItem Value="2">2</asp:ListItem>
                            <asp:ListItem Value="3">3</asp:ListItem>
                            <asp:ListItem Value="4">4</asp:ListItem>
                            <asp:ListItem Value="5">5</asp:ListItem>
                            <asp:ListItem Value="6">6</asp:ListItem>
                            <asp:ListItem Value="7">7</asp:ListItem>
                            <asp:ListItem Value="8">8</asp:ListItem>
                            <asp:ListItem Value="9">9</asp:ListItem>
                            <asp:ListItem Value="10">10</asp:ListItem>
                        </asp:DropDownList>
                        <br />
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td valign="top">
                        Supplement for monogram
                    </td>
                    <td valign="top">
                        0,00
                    </td>
                    <td valign="top">
                        Discount for short sleeves
                    </td>
                    <td valign="top">
                        0,00
                    </td>
                    <td valign="top">
                        Basic price<br />
                        Extras<br />
                        Discounts
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td valign="top">
                        0,00<br />
                        0,00<br />
                        0,00
                    </td>
                </tr>
                <tr>
                    <td>
                        &nbsp;
                    </td>
                    <td style="text-align: center">
                        &nbsp;
                    </td>
                    <td>
                        <asp:LinkButton ID="lnkCancel" runat="server" Text="Cancel" CommandName="Cancel"></asp:LinkButton>
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        <b>Total of extras</b>
                    </td>
                    <td>
                        <b>0,00</b>
                    </td>
                    <td>
                        <b>Total discount </b>
                    </td>
                    <td>
                        <b>0,00</b>
                    </td>
                    <td>
                        <b>Total per shirt </b>
                    </td>
                    <td>
                        &nbsp;
                    </td>
                    <td>
                        <b>0,00</b>
                    </td>
                </tr>
            </ItemTemplate>
            <FooterTemplate>
                </table></FooterTemplate>
        </asp:Repeater>

问题是,如何从中继器获取 Dropdownlist 值?并且下拉列表值在一个方法中执行(比如说:“private void InsertDatabase()”)

这段代码的目的是将Dropdownlist值插入数据库,当按钮被点击时触发(我把“”private void InsertDatabase()”放在按钮的“Click”事件上。

提前致谢。

【问题讨论】:

  • 您究竟想在哪里访问下拉列表的值? ItemCommand 事件何时触发?
  • 我想在“private void InsertDatabase()”中访问它,当它被点击时它被触发。

标签: c# asp.net repeater


【解决方案1】:

您可以使用下面提到的代码获取下拉列表值

foreach (RepeaterItem rptItem in RepeaterName.Rows)
{
         DropDownList ddlQuantity = (DropDownList)gvr.FindControl("ddlQuantity");
}

通过这种方式,您可以找到下拉列表并获得它的价值。

【讨论】:

  • 在“RepeaterName.Rows”中找不到“.Rows”?
最近更新 更多