最近自己实践得多了,于是陆陆续续碰到了许多开发之中的问题,记得几个月前尝试过在csdn的论坛提问,但终究没人理会,于是自己便灰心了,而那是又有个说法就是"简单的问题baidu google就有,困难的问题csdn也没人会解答" 这类说法......
这几天却给了我另外一个全新的感觉,csdn还是高手挺多的,或者说热心的人挺多的.
稍后给最近几个从csdn 的community解决的问题的总录
Q1
假设页面上有TextBox1,TextBox2.....TextBox20
设一个按钮
要一次性清空这些TextBox.Text 如何才能用循环做到?
page.Controls
然后循环遍历..发现类型是TextBox就是清除
foreach (Control tb in form1.Controls)
{
if (typeof(TextBox) == tb.GetType())
{
((TextBox)tb).Text = "";
}
}
非常感谢各位!
知道是要枚举页面的控件,本来想当然地用
foreach (Control obj in Page.Controls) ...呵呵
现在还清楚了typeof()的用法 谢谢rtsp(自命不凡)
Q2
在开发中遇到些疑惑 望众高手帮助解答
这里设计个简单范例 帮助说明问题
假设页面有10来个TextBox控件
命名方式tb1 tb2 tb3....tb10
页面又有10来个Label控件
命名方式lb1 lb2 lb3...lb10
设计一个方法
public void TextToLabel(TextBox tb , Label lb)
{
lb.Text = tb.Text
}
请问如何才最优效率实现?
总不见得用
TextToLabel(tb1,lb1);
TextToLabel(tb2,lb2);
...
TextToLabel(tb10,lb10);
如何用循环来实现?比如用for(int i=1;i<=11;i++)
但是控件名不能用i来代替啊
简单的遍历能用
foreach (Control tb in form1.Controls)
{
if (typeof(TextBox) == tb.GetType())
...
}来解决
但这个只是对这个要处理的TextBox本身的一些操作 要牵涉到其他控件比如说id序号相同的Label 小弟就不知所措了 希望大家来帮忙解答
A:
for(int i=0;i<=10;i++)
{
TextBox mytb = new TextBox();
Label mylb = new Label();
mytb = (TextBox)this.FindControl("tb" + i.toString());
mylb = (Label)this.FindControl("lb" + i.toString());
if (mytb != null && mylb != null)
{
mylb.Text = mytb.Text;
}
}