【问题标题】:Repeat ASP.NET Controls without Databinding重复没有数据绑定的 ASP.NET 控件
【发布时间】:2026-01-11 05:30:01
【问题描述】:

我有一个 ASP.NET 页面,它需要能够让用户输入多条记录。我想要的是在下面显示一个带有添加按钮的文本框集合。每次用户单击添加按钮时,都会将一个新的、相同的文本框集合添加到页面中。然后,当用户点击提交时,可以检查每个文本框集合,提取数据并保存到数据库中。

请注意,用户只会将数据插入数据库。不允许编辑或更新记录。

问题是我看过的每个 asp.net 控件(Repeater、Formview 等)都要求控件是数据绑定的。但是,我宁愿没有这个。我只想要一个控件来收集信息,这样我就可以在最后通读它并自己插入数据库。关于如何轻松完成此任务的任何想法?如有必要,我会将数据绑定到表中,但我想我会先问。

【问题讨论】:

    标签: .net asp.net


    【解决方案1】:

    利用Repeater、GridView和ListView等控件提供的数据绑定的便利性。

    使用绑定来填充控件。

    使用您喜欢的任何方法从中继器等检索和更新数据库。

    要使 2 路数据绑定工作,无论如何您都必须通过代码启用它。

    这些控件提供的 Row/Item 集合也将使您的自定义代码更易于编写。

    【讨论】:

      【解决方案2】:

      我会使用中继器:您可以将它数据绑定到一个集合,例如 List - 它不必绑定到数据库中的某个东西。

      【讨论】:

        【解决方案3】:

        你可以在 de aspx 中做一个 for 循环

            <% for (i=0;i<list.count;i++)
               {
                  string name = "textbox" + i.ToString();
                  string value = list[i].property;
        
        %>
                <input type="text" name="<%= name %>" value="<%= value %>">
               <%}
            %>
        

        在代码隐藏中,您可以在发布后询问 Request.Form["textbox2"] 变量的值。

        【讨论】:

          【解决方案4】:

          您可以动态地将任何您想要的控件添加到页面,允许迭代您自己的数组并添加您需要的任何控件,而无需任何数据绑定。

          【讨论】:

            【解决方案5】:

            使用jQuery从客户端添加文本框,您必须在服务器端收集。

            【讨论】: