2009-05-29 7 views
4

Ich habe ein Formular, das ein Repeater auf einer Webseite sein muss. Ich habe einen Zahlenparameter, der mir sagt, wie viele zusätzliche Kundendetails hinzugefügt werden sollen. Auf dieser Seite habe ich ein Repeater-Steuerelement, das Elemente eine bestimmte Anzahl von Wiederholungen wiederholen muss. Für jedes Element gibt es eine Reihe von Eingabefeldern, an die eine ID angehängt werden muss. Alles, was ich binden muss, ist eine Nummer für jedes zusätzliche Eingabefeld, zB <% #id %>. Ich weiß nicht, wie man eine einfache Datenbank ohne eine spezifische Datenquelle aufbaut, sondern einfach eine in einer Schleife erstellt.VB.NET Repeater Einfache Datenbindung ohne Datenquelle

<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> 

Antwort

4

Hier ist eine Möglichkeit, die Elemente zu wiederholen. In Ihrer Seite Load-Ereignis, fügen Sie folgendes:

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

Die Repeater Elemente durch die Anzahl der Elemente im Array wiederholt. In diesem Fall gibt es 3 Elemente. Der tatsächliche Inhalt des Arrays spielt keine Rolle, nur die Anzahl der Elemente.

EDIT: Ich weiß nicht, VB.NET, die gut, aber ich denke, das

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 
+0

Kühler funktionieren sollte. Wie kann ich die repeatTimes in einer Schleife erstellen? Dim repeatTimes() As Integer = new Integer() {1, 2, 3} Für i As Integer = 1 To TotalAdInsured Weiter –

+0

meine bearbeiten sehen. Ersetzen Sie einfach NumberToRepeat durch TotalAdInsured in der Array-Deklaration. repeatTimes (TotalAdInsured) und das sollte es tun. –

+0

Perfekt. Vielen Dank!! –