Как создать пользовательский элемент управления с элементами управления внутри него, чтобы я мог повторить его 25 раз на веб-форме

Мне нужно, чтобы создать форму, которая имеет не менее 25 из следующих строк. Пользователь собирается добавить данные, и они будут сохранены в существующей базе данных с 6 полями. Каков наилучший способ сделать это. Можете ли вы создать пользовательский элемент управления, который имеет эти три элемента управления внутри него? Любая помощь будет оценена.

----------------   -----------  --------------
|               | |          |  |            |  
|  Text Box     | |   Label  |  | Text Box   |  
----------------  ------------  -------------

Я создал этот ListView:

 <asp:ListView ID="ListView1" runat="server" DataSourceID="XmlDataSource2" >
<LayoutTemplate>
<table cellpadding="2" width="640px" border="1" runat="server" id="tblProducts">
        <tr id="Tr1" runat="server">
          <th id="Th1" runat="server">EmployeeID</th>
          <th id="Th2" runat="server">Name</th>
          <th id="Th3" runat="server">Absentee Code</th>
        </tr>
        <tr runat="server" id="itemPlaceholder" />
</table>    
</LayoutTemplate>
<ItemTemplate>

<tr runat="server">
<td>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</td>
<td>
    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</td>
<td>
    <asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
</td>
</tr>    
</ItemTemplate>        
</asp:ListView>
<asp:XmlDataSource ID="XmlDataSource2" runat="server" 
    DataFile="~/App_Data/EmptyRows.xml"></asp:XmlDataSource>
<div style="height: 36px">
    <asp:Button ID="Button1" runat="server" Text="Submitt" />
</div>

.VB код, чтобы попытаться получить значения каждой строки, но не работает

Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim lview As ListViewItem

    For Each lview In ListView1.Items

        Dim control As Control = lview.FindControl("TextBox1")
        Dim resutltxtb1 = control.Text.ToString

    Next
End Sub

1 ответ

Решение

Определите Repeater или ListView с ItemTemplate того, что вы хотите. Привязать к нему 25 пустых строк, и это будет отображаться по вашему желанию. При сохранении вы можете перебирать строки, чтобы получить контрольные значения. с помощью FindControl(),

Другие вопросы по тегам