小妹求助(只有20分了):在panel里面动态添加Textbox,点击button,却获得不到动态添加的TextBox,怎么解决呢?

问题描述

我是这样做的:System.Web.UI.WebControls.Tabletb=newSystem.Web.UI.WebControls.Table();tb.BorderWidth=Unit.Parse("0");tb.Width=Unit.Parse("100%");//创建标题行TableRowstaticTitleRow=newTableRow();TextBoxbox2=newTextBox();box2.ID="tb_SingleMoneyCode"+i.ToString();TableCellcell2=newTableCell();cell2.Width=Unit.Parse("23%");cell2.Controls.Add(box2);tr.Cells.Add(cell2);tb.Rows.Add(tr);panel1.Controls.Add(tb);在Button事件里这样获得TextBoxbox=(TextBox)this.panel1.FindControl("tb_SingleMoneyCode0");stringaa=box.Text;box对象总是为null我知道是由于页面的刷新,页面没有记录控件状态引起的,在网上查找了一下,写上下面的代码:publicboolIsDynamicLoadControl{get{objectdynamic=ViewState["IsDynamicLoadControl"];returndynamic==null?false:true;}set{ViewState["IsDynamicLoadControl"]=value;}}protectedoverridevoidLoadViewState(objectsavedState){base.LoadViewState(savedState);if(IsDynamicLoadControl){LoadPrizeTypeControls();//从新加载动态控件}}可是页面还是找不到动态加载的控件

解决方案

解决方案二:
mark
解决方案三:
这样动态添加的控件,通过FindControl是找不到的吧。。
解决方案四:
可能是你TextBoxbox=(TextBox)this.panel1.FindControl("tb_SingleMoneyCode0");这句的问题吧,我就改了这句就OK了,你试试...protectedvoidPage_Load(objectsender,EventArgse){System.Web.UI.WebControls.Tabletb=newSystem.Web.UI.WebControls.Table();tb.BorderWidth=Unit.Parse("0");tb.Width=Unit.Parse("100%");//创建标题行TableRowstaticTitleRow=newTableRow();TableRowtr=newTableRow();TextBoxbox2=newTextBox();box2.ID="ccc";box2.Text="ffffffffff";TableCellcell2=newTableCell();cell2.Width=Unit.Parse("23%");cell2.Controls.Add(box2);tr.Cells.Add(cell2);tb.Rows.Add(tr);Panel1.Controls.Add(tb);}protectedvoidButton2_Click(objectsender,EventArgse){TextBoxt=(TextBox)this.Panel1.FindControl("ccc");Response.Write(t.Text);}
解决方案五:
这个时候用Panel1.FindContronl()应该是找不到的,应该要通过table里的cell去找。
解决方案六:
小妹你好~
解决方案七:
用循环取控件
解决方案八:
((TextBox)this.pnlMacinfo.Controls[0].FindControl("id")).text;
解决方案九:
protectedoverridevoidOnInit(EventArgse){}在这个(初始化里创建控件)
解决方案十:
if(!IsPostBack){System.Web.UI.WebControls.Tabletb=newSystem.Web.UI.WebControls.Table();tb.BorderWidth=Unit.Parse("1");tb.Width=Unit.Parse("100%");//创建标题行TableRowstaticTitleRow=newTableRow();------------------代码都类似。我的显示了。。。。
解决方案十一:
protectedvoidGetControls(ControlCollectioncc){foreach(Controlcincc){if(cisSystem.Web.UI.WebControls.TextBox){TextBoxtb=(TextBox)c;if(tb.ID=="XXX"){//如果是这个控件..}elseif(c.HasControls()){GetControls(c.Controls);//递归获取控件}}}}GetControls(Page.Controls);//调用页面中所有的控件在页面中控件是分层次的

时间: 2024-09-21 22:08:08

小妹求助(只有20分了):在panel里面动态添加Textbox,点击button,却获得不到动态添加的TextBox,怎么解决呢?的相关文章

请在.net里怎么写验证码 20分 谢谢帮解答下吧

问题描述 请在.net里怎么写验证码我想在登入页面加上验证码怎么写给个源码吧我的20分谢谢帮解答下吧 解决方案 解决方案二:额---代码我有,但我也不是完全理解,在上面我写了简单的注释,只能简单的讲解!!publicpartialclassCode:System.Web.UI.Page{string_str_code="0,1,2,3,4,5,6,7,8,9,a,b,C,D,e,F,g,h,I,j,K,L,m,N,o,p,Q,r,S,t,u,V,W,X,y,Z";int_int_len

连接 2008-用C++ 连接SQL2008时使用计算机名称 无法连接到服务器 [问题点数:20分]

问题描述 用C++ 连接SQL2008时使用计算机名称 无法连接到服务器 [问题点数:20分] try { //OK//_bstr_t strConnect=""Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;User ID=sa;Initial Catalog=dataSource;Data Source=127.0.0.11433;providerName=System.Data.SqlClient&qu

小妹求助,如何用C#实现发短信到手机呢?

问题描述 小妹求助,如何用C#实现发短信到手机呢?谢谢各位大哥了.我看了网上的用新浪的webservice,但是都不行了,过期了555555 解决方案 解决方案二:大哥顶一下解决方案三:你必须有短信接口的SDK包,如果有了,还要开通短信平台服务,说白了就是需要花钱的解决方案四:看下AT指令集相关的东西,很容易搞定的解决方案五:对了,你还需要一个好用的串口调试工具解决方案六: 解决方案七:该回复于2008-01-14 09:43:18被版主删除解决方案八:做广告的拉出去砍了

51单片机 c语言-单片机作业,明天的考试估计会有类型题,但不会,20分啊。。。。呜呜,求帮助

问题描述 单片机作业,明天的考试估计会有类型题,但不会,20分啊....呜呜,求帮助 解决方案 最小系统要求能够正确运行,所以晶振是必须的,另外还要能够正确复位,因此,复位电路也是必须的. 由于程序要求不复杂,因此使用片内的程序空间就可以,所以不需要外部程序存储器,所以EA引脚需要接到高电平. 如下图所示 --其它问题楼下继续 解决方案二: 明天考试,那试题怎么提前能得到?试题都泄露了还不会实在羞羞. 解决方案三: 对于80C51来说,它的定时器脉冲来自于12分频的晶振频率,由于晶振12M,12

c语言-(20分)10个小朋友编号成1-10围成一个圈圈报数

问题描述 (20分)10个小朋友编号成1-10围成一个圈圈报数 (20分)10个小朋友编号成1-10围成一个圈圈报数,报到3的小朋友退出,求最后剩下的小朋友是几号?用C语言实现 解决方案 http://blog.csdn.net/newnewman80/article/details/5989449 解决方案二: 稍微修改下 #include<iostream> #include<malloc.h> using namespace std; struct node { int no

[color=#000000] [/color]csdn垃圾,提了个问题标题带“孟子、庄子”给了20分,结果被删了。[color=#000000] [/color]

问题描述 鄙视. 解决方案 解决方案二:因为你没有加上老子解决方案三:估计是因为标题党吧.被删除:了解决方案四:心胸狭窄删得好解决方案五:专家门诊费是100起价,楼主请N个专家才给20分...该删...呵呵[img=http://p.blog.csdn.net/images/p_blog_csdn_net/zswang/%E7%AC%91%E5%87%BA%E7%9C%BC%E6%B3%AA.gif]图[/img]解决方案六:不懂..解决方案七:......解决方案八:顶你一下,你可以问问斑竹

武汉奇葩公司招聘条件:Flappy Bird得20分才能进面试

要求应聘者现场玩Flappy Bird,并要达到20分才能进入面试.近日,武汉一家网络公司在网上开出的程序员应聘条件吸引了不少求职者关注.手机小游戏Flappy Bird因其"反人类"的游戏难度而风靡全球,游戏形式简易但极难操控,能得20分以上的已可称为高手."我觉得这样的应聘形式很生动新颖,这样的公司也很活泼有趣!"昨日,看到这则招聘广告,刚毕业不久的小夏说,这个噱头,对不少爱好游戏的程序员 的确有吸引力.在他看来,这类游戏玩得好的人,多半很有耐心和创新精神.随着

31日23点20分 GG出错情况消失

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 刚才给图王说完以后,自己又测试了下,我用的是360的浏览器,在地址栏直接打中文是直接跳转到GG的,发现一个细节.在地址栏搜索跳转的第一次出现GG的时候是没有恶意提示的,刷新下网页就出来提示了,目前还不知道是一种新型病毒还是GG公司的问题 观望中 23点20分,恶意提示已经消失.

java awt 布局 下面panel 尺寸已经设定好了,为什么不按照流式布局添加 而是尺寸变了

问题描述 java awt 布局 下面panel 尺寸已经设定好了,为什么不按照流式布局添加 而是尺寸变了 package huatu; import java.awt.*; import java.awt.image.BufferedImage; import javax.swing.BoxLayout; public class num1 { private Frame f=new Frame("绘图"); private Panel p=new Panel(); private