请问有一组TextBox,想通过“增加”,“删除”按钮来添加,减少一组TextBox,请问大家如何实现?

bolome 2008-09-10 10:34:39
请问有一组TextBox,(最多显示5组,最少一组),想通过“增加”,“删除”按钮来添加,减少一组TextBox,请问大家如何实现?
是将5组先做好一个一个显示呢?还是一组一组的代码生成??有谁看到过这个例子的说说啊??
...全文
257 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
bolome 2008-09-16
  • 打赏
  • 举报
回复
还是使用JS吧
bolome 2008-09-12
  • 打赏
  • 举报
回复
很少有人关js吧?我还不知道在哪里关呢/
Go 旅城通票 2008-09-12
  • 打赏
  • 举报
回复
那就没办法了

只好一次显示光,要不就由服务器控制,重新刷新过一次页面
bolome 2008-09-12
  • 打赏
  • 举报
回复
如果客户端关掉js怎么办?
bolome 2008-09-12
  • 打赏
  • 举报
回复
看到了,想看看哪边更好!!
Go 旅城通票 2008-09-12
  • 打赏
  • 举报
回复
去你js板块看我的回复去
bolome 2008-09-12
  • 打赏
  • 举报
回复
我将输入框放在DIV中,做成五个DIV中,通过DIV的visible属性来控制是否显示,但是我无论是设成 <div visible="true">,
还是 <div visible="false">都没有反应。请问是怎么回事?》
如何在后台控制?
bolome 2008-09-12
  • 打赏
  • 举报
回复
谢谢各位!
bonnibell 2008-09-10
  • 打赏
  • 举报
回复
用 js 生成比较好

动态的太麻烦
方法1:
前台 :
<asp:Table ID="TableCondition" runat="server">
</asp:Table>
后台:
public void AddNewRow(int i)
{
TableRow trnew = new TableRow();
TableCell tcnew = new TableCell();

TextBox tbox = new TextBox();
tbox.ID = "box" + i.ToString();
tbox.Width = 80;


tcnew.Controls.Add(tbox);
trnew.Cells.Add(tcnew);

this.TableCondition.Rows.Add(trnew);
}
在一个button的 点击事件里 调用此方法
不过需要记录 i 的值, 而且在 Page_Init 里要根据 i 的值生成所有控件

还有两种种方法是:
2:用一个静态的 (static)Table
3: 用一个 List<TableRow> 保存控件 ,
就不用考虑 控件的状态了,不过后两种方法没有做过更多的测试,第一种方法,没有问题,就是繁琐些
jiang_jiajia10 2008-09-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yangpeiyu 的回复:]
如果五组的话。你就把所有的TextBox全部画在一个table里,然后你那“增加”,“删除”按钮就对table的Row用JS来控制他的隐藏和显示。这样是最简单的。

如果用代码生成TextBox的话我想比较复杂点。也要控制好位置。
[/Quote]
wackyboy 2008-09-10
  • 打赏
  • 举报
回复
既然每一组是八个,那就做个用户控件,
每次添加或删除用户控件
cshiningc 2008-09-10
  • 打赏
  • 举报
回复
原理很简单,因为我不太熟{刚学},但在JS中就可实现,你说的功能,主要思路就是添加,移除标签,你可在Google找到相关例子,这是基于客户端的
as54608451899 2008-09-10
  • 打赏
  • 举报
回复
在页面上放五个panel,panel1中放置一个添加按纽,panel2-panel5各放置一个删除按钮。刚开始时,后四个隐藏,当点添加时,显示一个,再点显示第二个,以此类推。删除也一样,只要隐藏对应的Panel就可以了。添加部分:
Panel p=(Panel)(this.FindControl("pl1"));
int i;
for(i=1;i<6;i++)
{
p=(Panel)(this.FindControl("pl"+i.ToString()));
if(!p.Visible)
{
p.Visible=true;
break;
}
}
bolome 2008-09-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 freewind0521 的回复:]
TextBox tbox = new TextBox();
tbox.ID = "box1";
tbox.Width = 80;
Panel1.Controls.Add(tbox);
[/Quote]
这是动态的还是??
路人乙e 2008-09-10
  • 打赏
  • 举报
回复
动态生成比较好
你是webform还是winform?
webform用js动态生成
可以将用户输入数据全部保存在隐藏域中
freewind0521 2008-09-10
  • 打赏
  • 举报
回复
TextBox tbox = new TextBox();
tbox.ID = "box1";
tbox.Width = 80;
Panel1.Controls.Add(tbox);
shadowjl 2008-09-10
  • 打赏
  • 举报
回复
动态创建的不知道它会放到哪里去
bolome 2008-09-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 yumi_yu 的回复:]
我是利用动态生成,不过我是不确定user会添加几个控件所以就用动态了,不过像你已经知道最多有几组,我觉得还是利用先放好控件来操作也许比较好点~~~,因为这样比较简单~~~动态增减的话蛮麻烦的哦~~~
[/Quote]
那请问怎样控制呢??
zorro911 2008-09-10
  • 打赏
  • 举报
回复
学习
yumi_yu 2008-09-10
  • 打赏
  • 举报
回复
我是利用动态生成,不过我是不确定user会添加几个控件所以就用动态了,不过像你已经知道最多有几组,我觉得还是利用先放好控件来操作也许比较好点~~~,因为这样比较简单~~~动态增减的话蛮麻烦的哦~~~
加载更多回复(11)

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧