データソースを使用しない VB.NET リピーターのシンプルなデータ バインディング

StackOverflow https://stackoverflow.com/questions/926619

質問

Webページ上でリピーターとなる必要のあるフォームがあります。追加する顧客詳細の数を示す数値パラメーターがあります。このページには、項目を設定された回数繰り返す必要があるリピーター コントロールがあります。各項目には、ID を追加する必要がある一連の入力ボックスがあります。バインドする必要があるのは、追加の入力ボックスごとに数値だけです。 <% #id %>. 。特定のデータソースを使用せずに単純なデータバインドを設定する方法がわかりませんが、ループ内でデータバインドを構築するだけです。

<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>
役に立ちましたか?

解決

項目を繰り返す方法は次のとおりです。ページ読み込みイベントに以下を追加します。

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

リピーター項目は、配列内の要素の数だけ繰り返されます。この場合、要素は 3 つあります。配列の実際の内容は重要ではなく、要素の数だけが重要です。

編集: VB.NETはよくわかりませんが、これでうまくいくと思います

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top