Pregunta

Tengo un formulario que tiene que ser un repetidor en una página web. Tengo un parámetro de número que me dice cuantos detalles adicionales de los clientes se van a agregar. En esta página Tengo un control del repetidor que hay que repetir los elementos de un determinado número de veces. Para cada elemento hay un conjunto de cuadros de entrada que necesita un id anexado a él. Todo lo que necesitan de obligar a es un número para cada uno adicional cuadro de entrada es decir <% #id %>. No sé cómo configurar databind simple, sin una fuente de datos específica, pero sólo a construir uno en un bucle.

<asp:Repeater ID="myRepeater" runat="server"> 
    <HeaderTemplate>  
       <div class="AdditionalRowTitle">
            <div class="AdditionalCellTitle">Title</div>
            <div class="AdditionalCellFirstName">First Name</div>
            <div class="AdditionalCellLastName">Last Name</div>
            <div class="AdditionalCellDOB">DOB</div>
            <div class="AdditionalCellRelationship">Relationship</div>
        </div>
    </HeaderTemplate>

    <ItemTemplate>
       <div class="AdditionalRow">
            <div class="AdditionalInputTitle">
                <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>
            </div>

            <div class="AdditionalInputFirstName">
                <asp:TextBox ID="AdFirstName" runat="server"></asp:TextBox>
            </div>

            <div class="AdditionalInputLastName">
                <asp:TextBox ID="AdLastName" runat="server"></asp:TextBox>
            </div>

            <div class="AdditionalInputDOB">
                <asp:DropDownList ID="AdDOBDay" runat="server">
                    <asp:ListItem Selected="True" Value="" Text=""/>
                    <asp:ListItem Selected="False" Value="1" Text="1"/>
                    <asp:ListItem Selected="False" Value="2" Text="2"/>
                    <asp:ListItem Selected="False" Value="3" Text="3"/>
                    <asp:ListItem Selected="False" Value="4" Text="4"/>
                    <asp:ListItem Selected="False" Value="5" Text="5"/>
                    <asp:ListItem Selected="False" Value="6" Text="6"/>
                    <asp:ListItem Selected="False" Value="7" Text="7"/>
                    <asp:ListItem Selected="False" Value="8" Text="8"/>
                    <asp:ListItem Selected="False" Value="9" Text="9"/>
                    <asp:ListItem Selected="False" Value="10" Text="10"/>
                    <asp:ListItem Selected="False" Value="11" Text="11"/>
                    <asp:ListItem Selected="False" Value="12" Text="12"/>
                    <asp:ListItem Selected="False" Value="13" Text="13"/>
                    <asp:ListItem Selected="False" Value="14" Text="14"/>
                    <asp:ListItem Selected="False" Value="15" Text="15"/>
                    <asp:ListItem Selected="False" Value="16" Text="16"/>
                    <asp:ListItem Selected="False" Value="17" Text="17"/>
                    <asp:ListItem Selected="False" Value="18" Text="18"/>
                    <asp:ListItem Selected="False" Value="19" Text="19"/>
                    <asp:ListItem Selected="False" Value="20" Text="20"/>
                    <asp:ListItem Selected="False" Value="21" Text="21"/>
                    <asp:ListItem Selected="False" Value="22" Text="22"/>
                    <asp:ListItem Selected="False" Value="23" Text="23"/>
                    <asp:ListItem Selected="False" Value="24" Text="24"/>
                    <asp:ListItem Selected="False" Value="25" Text="25"/>
                    <asp:ListItem Selected="False" Value="26" Text="26"/>
                    <asp:ListItem Selected="False" Value="27" Text="27"/>
                    <asp:ListItem Selected="False" Value="28" Text="28"/>
                    <asp:ListItem Selected="False" Value="29" Text="29"/>
                    <asp:ListItem Selected="False" Value="30" Text="30"/>
                    <asp:ListItem Selected="False" Value="31" Text="31"/>
                </asp:DropDownList>

                <asp:DropDownList ID="AdDOBMonth" runat="server">
                    <asp:ListItem Selected="True" Value="" Text=""/>
                    <asp:ListItem Selected="False" Value="1" Text="January"/>
                    <asp:ListItem Selected="False" Value="2" Text="Febuary"/>
                    <asp:ListItem Selected="False" Value="3" Text="March"/>
                    <asp:ListItem Selected="False" Value="4" Text="April"/>
                    <asp:ListItem Selected="False" Value="5" Text="May"/>
                    <asp:ListItem Selected="False" Value="6" Text="June"/>
                    <asp:ListItem Selected="False" Value="7" Text="July"/>
                    <asp:ListItem Selected="False" Value="8" Text="August"/>
                    <asp:ListItem Selected="False" Value="9" Text="September"/>
                    <asp:ListItem Selected="False" Value="10" Text="October"/>
                    <asp:ListItem Selected="False" Value="11" Text="November"/>
                    <asp:ListItem Selected="False" Value="12" Text="December"/>
                </asp:DropDownList>

                <asp:DropDownList ID="AdDOBYear" runat="server">
                </asp:DropDownList>

                <ajaxToolkit:CascadingDropDown ID="CascadingDropDown2"
                                           Category="AdDOBYear"
                                           LoadingText=""
                                           ServicePath="TravelWebService.asmx"
                                           ServiceMethod="GetYears"
                                           PromptText=""
                                           TargetControlID="AdDOBYear"
                                           runat="server">
                </ajaxToolkit:CascadingDropDown>
            </div>

            <div class="AdditionalInputRelationship">
                <asp:DropDownList ID="AdRelationship" runat="server">
                    <asp:ListItem Selected="True" Value="" Text=""/>
                    <asp:ListItem Selected="False" Value="Partner" Text="Partner"/>
                    <asp:ListItem Selected="False" Value="Child" Text="Child"/>
                    <asp:ListItem Selected="False" Value="Unrelated" Text="Unrelated"/>
                </asp:DropDownList>
            </div>
        </div>
   </ItemTemplate>
</asp:Repeater>
¿Fue útil?

Solución

Esto es una manera de repetir los elementos. En el evento de carga de página, añadir lo siguiente:

Dim repeatTimes() As Integer = New Integer(){1, 2, 3}
myRepeater.DataSource = repeatTimes
myRepeater.DataBind()

Los elementos de repetidor se repetirán por el número de elementos en la matriz. En este caso, hay 3 elementos. Los contenidos reales de la matriz no importan, sólo el número de elementos.

EDIT: No sé VB.NET tan bien, pero creo que esto debería funcionar

Sub Page_Load()
  Dim NumberToRepeat As Integer ''*Should come from the parameter
  If Not Page.IsPostBack Then
    Dim repeatTimes(NumberToRepeat) As Integer
    myRepeater.DataSource = repeatTimes
    myRepeater.DataBind()
  End If
End Sub
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top