Добавить строки текстовых полей одним нажатием кнопки - PullRequest
1 голос
/ 05 декабря 2011

Я сильно застрял в этой проблеме и был бы признателен за любую помощь! Я должен создать страницу, где пользователь может добавить больше строк, нажав кнопку. Например, у меня есть первая строка с двумя текстовыми полями (имя и дата рождения), вторая строка с кнопкой «Добавить строку». Когда пользователь нажимает кнопку «Добавить строку», первая строка должна быть клонирована и повторена ... но пользователь не может добавить более 5 строк. В дальнейшем вся информация должна быть сохранена в таблице SQL. Как этого можно добиться в C #?

Я прилагаю мой пример ASP.NET. Кто-нибудь может мне помочь, пожалуйста?

PS: я уже прочитал и попробовал "Как: динамически добавлять строки и ячейки в элемент управления настольного веб-сервера" .... но это не работает для меня.

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Testing Adding Rows</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>    
        <asp:Table ID="Table1" runat="server" width="400" style="border:[none][0]; border-color:White; border-style:hidden">                
            <asp:TableRow ID="TableRow1" runat="server">
                <asp:TableCell runat="server" nowrap="nowrap" Width= "70">
                    <asp:Label ID="nameLabel" runat="server" Text="Your Name" Font-Size="X-Small"></asp:Label>
                </asp:TableCell>
                <asp:TableCell runat="server" nowrap="nowrap" Width= "100">
                    <asp:TextBox ID="tb_name" runat="server" Font-Size="Smaller"></asp:TextBox> 
                    <asp:RequiredFieldValidator ID="nameValidator" runat="server" ControlToValidate="tb_name" Font-Size="Smaller">*</asp:RequiredFieldValidator>
                </asp:TableCell> 

                <asp:TableCell runat="server" nowrap="nowrap" Width= "70">
                    <asp:Label ID="dateLabel" runat="server" Text="Birthdate" Font-Size="Smaller" ></asp:Label>
                </asp:TableCell>                        
                <asp:TableCell runat="server" Width= "100">
                    <asp:TextBox ID="tb_date" runat="server" Font-Size="Smaller"></asp:TextBox>
                    <asp:RequiredFieldValidator ID="dateValidator" runat="server" ControlToValidate="tb_date" Font-Size="Smaller">*</asp:RequiredFieldValidator>
                </asp:TableCell>

            </asp:TableRow>


            <asp:TableRow ID="TableRow2" runat="server"> 
                <asp:TableCell runat="server" align="left" Width= "100">
                    <asp:Button ID="addRow" runat="server" Height="22px" Text="Add Row" 
                                 ToolTip="Click to add another row" onclick="ButtonAddRow_Click" />
                </asp:TableCell> 
            </asp:TableRow> 


            <asp:TableRow ID="TableRow3" runat="server">  
                <asp:TableCell runat="server" bordercolor="#FFFFFF">    </asp:TableCell>

                <asp:TableCell runat="server"  align="left" nowrap="nowrap" bordercolor="#FFFFFF">
                    <asp:Label ID="msg" runat="server" ForeColor="Red" Font-Size="Smaller"></asp:Label>
                    <asp:ValidationSummary ID="LogonValidationSummary" HeaderText="All the fields (*) are required." DisplayMode="SingleParagraph"
                                           Font-Italic="true" ShowSummary="True" EnableClientScript="true" runat="server" Font-Size="Smaller"/> 
                </asp:TableCell>
            </asp:TableRow>

             <asp:TableRow ID="TableRow4" runat="server"> 
                <asp:TableCell ID="TableCell10" runat="server" bordercolor="#FFFFFF">       </asp:TableCell>

                <asp:TableCell ID="TableCell11" runat="server" align="left" bordercolor="#FFFFFF">
                    <asp:Button ID="ButtonSubmit" runat="server" Height="22px" Text="Submit" Width="79px" onclick="ButtonSubmit_Click" />
                </asp:TableCell>
            </asp:TableRow>

        </asp:Table>    
    </div>
    </form>
</body>
</html>

Ответы [ 2 ]

1 голос
/ 05 декабря 2011

Этот фрагмент кода является лишь подсказкой, что вы можете сделать это таким образом.

    TableRow row = new TableRow();
     for (int j = 0; j < colsCount; j++)
     {
        TableCell cell = new TableCell();
        TextBox tb = new TextBox();
           tb.ID = "TextBoxRow_" + i + "Col_" + j;
           cell.Controls.Add(tb);
           row.Cells.Add(cell);
      }

     Table1.Rows.Add(row);
0 голосов
/ 05 декабря 2011

Хотелось бы, чтобы вы использовали элемент управления GridView и добавили время выполнения строки в gridview, а не таблицу. Это сведет к минимуму ваши усилия и код.

вот код для вас: Добавление динамических строк в GridView с TextBoxes enter image description here

...