问题描述
我在asp,net的button事件中定义动态控件,例如chickbox,给控件ID,现在我想在另外一个button中用控件,如何调用。下面是我的一部分源码CheckBoxchick=newCheckBox();protectedvoidButton2_Click(objectsender,EventArgse){for(inti=0;i<5;i++){chick.ID="chickbox".i.tostring();}}protectedvoidButton3_Click(objectsender,EventArgse){for(inti=0;i<5;i++){if(**********************)//判断chickbox是否选中{label.text=“right”;}}}
解决方案
解决方案二:
大概就这个意思了.privatevoidbutton1_Click(objectsender,EventArgse){inttop=10;for(inti=0;i<5;i++){CheckBoxchk=newCheckBox();chk.Name="chk"+string.Format("{0:00}",i);chk.Tag=i;top+=40;chk.Top=top;chk.Left=20;chk.Text="Check"+string.Format("{0:00}",i);this.Controls.Add(chk);}button1.Enabled=false;}privatevoidbutton2_Click(objectsender,EventArgse){for(inti=0;i<5;i++){if((this.Controls["chk"+string.Format("{0:00}",i)]asCheckBox)==null){continue;}if((this.Controls["chk"+string.Format("{0:00}",i)]asCheckBox).Checked){(this.Controls["chk"+string.Format("{0:00}",i)]asCheckBox).ForeColor=Color.Red;}}}
解决方案三:
不管你学了什么,我还是先给你一个“试金石”让你拿着可以选择什么才是真正的asp.net程序的基本(合格的)内容:你可以往你的aspx上拖入一个Button控件,鼠标双击它来产生一个“空的”事件处理。然后就OK了,这就设计好测试代码了。在你编写这个aspx中其它代码时,你调试时,时不时地随机点击一下这个测试Button。如果你发现页面上的状态错乱了(例如一个TextBox的动态设置的颜色又变成默认值了,或者干脆就不见了),那就别继续往下写新的功能了,先解决这个问题吧。如果花了很长时间(例如3天)还不知道如何解决,给你一个忠告:不要随便写什么“动态加载”程序,你现在还只能学会去使用DataList、ListView等等数据绑定控件去实现动态加载功能。
解决方案四:
许多人对asp.net程序中“动态加载”有个错误的认识。这就好像我们找一帮小工来砌墙,结果砌的不但是七扭八歪、而且还有窟窿。但是这个工头完全不自知,以为只要将墙砌到足够的高度就能交差领工程款了。殊不知接下来它要付出的就是“砸死人”的赔偿款啊。asp.net程序如果你胡乱写“动态加载”程序,连个简单的“button回发测试”都做不到,你就应该知道将来的风险有多大。不要再往下写程序了。
解决方案五:
现在的需求是选择本地图片预览,动态生成控件,选择多少张就出现多少个展示框,每个展示框包括图片有无边框,是否上传等属性,选择上传的图片才放到服务器上。我现在是在后台cs文件中先将图片放到缓存文件夹里,在从缓存文件夹来展示图片,通过获取文件个数来循环动态创建控件,但是在点击上传button时,无法获取动态生成的数据,现在有什么办法可以实现这个功能。