当前位置:编程学习 > C#/ASP.NET >>

findcontrols找不到动态添加的控件,怎么回事?

aspx页面中放置一个panel控件,在一个按钮事件中new一个textbox,然后panel1.controls.add的方式添加这个文本框。在另一个按钮事件中想使用findcontrols获得这个textbox却怎么也得不到,为什么? --------------------编程问答-------------------- 这个我一般用JS动态添加文本框 --------------------编程问答-------------------- 可以通过page.findcontrol获得panel控件,但是使用panel的findpanel却找不到textbox控件。
页面没有masterpage等特殊的东西 --------------------编程问答-------------------- 回发没有保存状态吧 --------------------编程问答-------------------- 搜搜,我都回答了好几个类似问题了,也可以归为月经贴了 --------------------编程问答-------------------- 在回发时,Page中并没有这个动态添加的控件。那些你设置在aspx或者ascx上的控件,它们会在Page初始化时被自动添加。而你动态添加的控件,你需要在Page_load中自己去动态添加。

我在帖子《TreeView树形结构的使用》中有个demo,你可以参考一下。 --------------------编程问答-------------------- 从那个例子中你可以看到,对于ID为myTestTree的控件,你必须自己去动态添加。 --------------------编程问答--------------------
引用楼主  的回复:
aspx页面中放置一个panel控件,在一个按钮事件中new一个textbox,然后panel1.controls.add的方式添加这个文本框。在另一个按钮事件中想使用findcontrols获得这个textbox却怎么也得不到,为什么?


Request.Form["想查找的ID(服务器控件)"]

--------------------编程问答-------------------- 回发的时候,需要先把那个文本框new出来,add进去,然后才可以find。

默认可以保存控件的状态,但是不包括动态new出来的。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,