我在一些网站上看到,让他们的用户通过输入原始文本框中的某些文本框来添加记录,并且有一个加号图标,如果他们有一个,可以添加另一个记录,如下所示:
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | +
|的 ___ ADD_BUTTON ___ |
如果用户有另一条记录,那么他点击该加号图标,表格就像这样:
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | -
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | +
|的 ___ ADD_BUTTON ___ |
并在几行之后:
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | -
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | -
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | -
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | -
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | -
电话号码:| _ __ _ |姓名:| _ __ _ __ _ __ | +
|的 ___ ADD_BUTTON ___ |
请您告诉我如何在Asp.net WebForms中实现这一点和/或给我一些关于这个结构以及其他人如何实现它的提示? (最好是服务器端解决方案)
答案 0 :(得分:2)
起初我不明白为什么你需要一个服务器端解决方案,除非/否则有特殊需要。
您可以通过多种方式实现这一目标
1在客户端构建控件
当用户点击+或 - 并继续将其添加到容器中时,您可以在客户端构建控件,最后或定期(如果您希望使用回调可以保存对服务器的更改)。
在客户端,您可以唯一地命名控件以在保存期间从中获取值。有点像tbx_phone_number_1,tbx_phone_number_2等等
你也可以在客户端和每个人都有一个JSON - +你可以将记录推送到json,最后将JSON发送回服务器进行保存。
2在服务器端构建控件
每次点击+或 - 你都会在服务器端进行回发和构建控制,这是一个繁琐的过程,你会浪费网络带宽和服务器性能等资源。
动态地向表添加行 Adding rows and columns to a table dynamically with jQuery
动态添加控件
How do i add input fields (textbox) to a table dynamically created with jQuery
答案 1 :(得分:1)
这应该为您提供所需的服务器端功能:
Insert a new record using ListView with a GridView-like interface
类似功能:
How to insert a record into a listview control of asp.net using c#?
Using ASP.NET 3.5's ListView and DataPager Controls: Inserting Data
答案 2 :(得分:0)