如何在一个容器里找到指定类型的控件?前提是不遍历这个容器的,且这个这个控件的Id也不知道..

在一个panel 里有 textbox、FileUpload、dropdownlist , 如何先找到FileUpload,做一些判断 在去找其他的控件

第1个回答  2011-03-31
你说那要求根本不可能找到`一个容器里面的同类型控件可能有N个`知道Id你就用
panel.FindControl();
不知道id就遍历容器
foreach(Control c int panel1.Controls){
if(c is FileUpLoad)
FileUpload fu=c as FileUpLoad;
}追问

一个Pannel 里有3个控件, 如何能保证 第一次去遍历 就找到FileUpLoad?我要对上传控件做一些判断,才能去处理其他的控件

追答

本身pannel就是个容器`你当然遍历一次就能得到FileUoLoad了!!!!除非pannel里还有容器!

本回答被提问者采纳
第2个回答  2011-03-31
el里面呀,其他不要的控件就直接放在页面上。把那个大的panel设置为放在最底层,这样直接放在页面上的控件也能显示,而那个大的panel里面只有你要的panel。
foreach (Control cont in this.panel1.Controls)
第3个回答  2011-03-31
如果不知道ID就必须要通过遍历判断才能找到。
foreach(Control c int panel1.Controls){
if(c is FileUpLoad){
....//+Break;可可出循环
FileUpload fu=(FileUpload) c;

}
else if(c.GetType()==typeof(textBox)){
.....
}
}
第4个回答  2011-03-31
用FileUpload控件的名字直接到Panel的controls集合中取
第5个回答  2011-03-31
不便利基本无解,
除非你添加的时候就记录在一个列表里.

asp.net 根据ID 获取控件
但是这个容器很大!要遍历的话还不一定能找到!可以在该控件放置一个另外的容器!然后再去此容器中遍历寻找控件!不过哥们你这问题不对头吧!已经名字了,在cs类中直接名字不就获取到了嘛!JS中自己getElementById不也行了么? 前夫曾轶可 | 发布于2010-04-09 举报| 评论 0 1 寻找的方法和三楼说的差不多,不过...

在C#winform中如何遍历子窗体中有容器中的所有的控件
一个递归方法取得页面上所有类型为textbox的控件,并对其清空,相信你看了后有所感悟。private void Button1_Click(object sender, System.EventArgs e){ foreach (Control ctl in this.Controls){ this.txtClear(ctl);} } private void txtClear(Control ctls){ if(ctls.HasControls()){ foreach...

JQuery如何从相似的字符串中选出准确字符串,并获取其容器ID_百度...
用JQuery组件:('tr').each(function(){ if($(this).children('td:eq(2)').text() == 'POLYESTER'){ alert($(this).children('td:eq(1)').children('input:eq(0)').attr('id'));} });

怎样遍历一个list,看外部的一个id是否在这个list里的一个实体里的id
\/\/如果状态标识为true的话,则证明满足条件(list内的user的shop的id属性存在与shopid相等)}else{ \/\/list中不存在满足条件的user.} 其次,我想说的是, 如果这个情况涉及到数据库的话,完全可以在数据库里判断之后得到具体的user.

如何在ListView控件中使用Add方法添加ListItem对象并处理相关字段数据...
FindItem方法(ListView控件):查找指定条件的列表项。GetFirstVisible:获取第一个可见的列表项。SetFocus:将焦点设置到控件上。Drag方法:实现拖拽操作。Move方法:移动列表项的位置。ZOrder方法:改变控件内部元素的显示顺序。ShowWhatsThis方法:显示帮助信息。OLEDrag方法(ActiveX控件):支持对象的拖放功能...

vb怎么获取控件句柄和内容
先找到窗口的句柄,再来查找按钮的句柄,如果按钮有文本内容,那就好办,如果没有,那建议你利用SPY++先来察看一下按钮的类型,以此类型为查找参数多次调用FindWindowEx来查找,直到找到的的句柄和Spy++相同,那么这个按钮就找到了。按钮类名同样,但是你去遍历的时候它的次序始终是固定的。通过id不可靠,有...

关于repeater 嵌套、如何获得里面的repeater 中的控件
下边代码示例寻找Label1和Label3:程序代码 如何在Repeater的HeaderTemplate和FooterTemplate模板中寻找控件?在Repeater的ItemTemplate模板中的控件,我们可以用Items属性来遍历行并用FindControl进行寻找,如下所示:在Repeater的Item Command事件下下遍历:for(int i=0;i<repeater1.Items.Count;i++){ CheckB...

JS如何得到Repeater控件里面input控件的ID
把你2个控件的ID改为"lblBegin Eval("ID")%"(你这个后台绑定的数据表有ID的吧??)。用隐藏域 在后台绑定数据时对这个隐藏域赋值,格式如"id1,id2,id3...",然后在JS里写document.getElementById("HiddenData").value取到这个隐藏域的值,用split方法将其以','分割,存在一个数组里。然后...

关于.net的控件遍历及根据Id读取控件的问题
Panel pnl=(Panel)FindControlRecursive(Page,"p"+i.toString());if( Request.QueryString["Id"].toString()==i.toString()){ pnl.Visible=true;} else { pnl.Visible=false;} } } \/\/递归找控件 public Control FindControlRecursive(Control Root, string Id){ if (Root.ID == Id)return ...

在asp.net中,怎样在后置代码中获取前台页面中的服务器控件Id?
VS里面可以直接调用前台的控件的吧?就是你直接写控件的ID,就可以访问

相似回答