导航
  • 主页
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

如何遍历webform上的控件?

smartyyp 2003-02-21 01:42:49
1.如果是textbox类,id为textbox1,则赋值2;id为textbox3,则赋值20。
2.如果是dropdownlist类,id为ddl1,则他的visible=false.
请给详细代码?
...全文
14 点赞 收藏 8
写回复
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
bwx 2003-02-21
以控件的ID为条件设计分支语句,是个好办法
回复
anh 2003-02-21
学习。
回复
tlping 2003-02-21
还不错
回复
gangganghao 2003-02-21
如果。。控件有嵌套的话。。需要用递归。。

例如。。<asp:Table>中添加的TextBox。。。

如果层数已知。。例如两层。。只需。。
foreach(Control con in this.Controls[1].Controls)
{
foreach(Control con1 in con.Controls)
{

}
}

再找一层。。。
回复
smartyyp 2003-02-21
Private Sub Page_Unload(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Unload
Dim conn As Control

For Each conn In Page.Controls(1).Controls
Select Case conn.ID
Case "txt"
CType(conn, TextBox).Text = "bbbbbbbbbbbbbbbbbbbbbbb"
Case "textbox4"
CType(conn, TextBox).Text = "bbbbbbbbbbbbbbbbbbbbbbb"
End Select
Next
End Sub
为什么值不能被赋上
回复
gOODiDEA 2003-02-21
来晚了:)
回复
visualpony 2003-02-21
foreach(System.Web.UI.Control control in this.Panel1.Controls)
{
if(control is TextBox)
{
if(control.ID.ToString()=="textbox1") ((TextBox)control).Text = "2";
if(control.ID.ToString()=="textbox3") ((TextBox)control).Text = "20";
}
else if(control is DropDownList)
{
if(((DropDownList)control).ID=="ddl1") ((DropDownList)control).Visible=false;
}
}
回复
hgknight 2003-02-21
foreach(Control con in this.Controls[1].Controls)
{
if(con is TextBox)
{
if(((TextBox)con).ID=="textbox1")
((TextBox)con).Text="2";
else if(((TextBox)con).ID=="textbox3")
((TextBox)con).Text="20";
}
else if(con is DropDownList)
{
if(((DropDownList)con).ID=="ddl1")
((DropDownList)con).Visible=false;
}
}
回复
发动态
发帖子
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
社区公告
暂无公告