VB.NET ripetitori semplice associazione dati Senza Origine dati
-
06-09-2019 - |
Domanda
Ho un modulo che deve essere un ripetitore su una pagina web. Ho un certo numero di parametri che mi dice quante ulteriori dettagli del cliente sono da aggiungere. In questa pagina Ho un controllo ripetitore che ha bisogno di ripetere gli elementi di un determinato numero di volte. Per ogni articolo v'è un insieme di caselle di input che richiede un id allegati. Tutto quello che serve per legare è un numero per ogni ulteriore casella di input vale a dire <% #id %>
. Non so come impostare semplice DataBind senza un'origine dati specifica, ma solo costruire uno in un ciclo.
<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>
Soluzione
Ecco un modo per ripetere le voci. Nel vostro evento di caricamento della pagina, aggiungere il seguente:
Dim repeatTimes() As Integer = New Integer(){1, 2, 3}
myRepeater.DataSource = repeatTimes
myRepeater.DataBind()
Gli elementi ripetitore sarà ripetuta per il numero di elementi della matrice. In questo caso, ci sono 3 elementi. I contenuti effettivi della matrice non contano, solo il numero di elementi.
Modifica non so VB.NET che bene, ma penso che questo dovrebbe funzionare
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