.net 页面框架的层次问题,嵌套问题

 

第一层:Form1:<form id="Form1" runat="server">
第二层:才是我们拖放的控件。
<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
一般来说就只有这两层了。
但是我们想要控件嵌套控件呢?
也就是在控件里面在加控件,最常见的就是DataGrid,它里面就可以嵌套其他的控件,
正确设置嵌套也不是很难:
首先它的上一层,必须定义,然后再上一层帮定的过程中,创建定义下一层,依次类推,
其实知道了层次问题对我们获取控件ID非常有用,

1。比如我要给页面所有TextBox添加一个属性:
foreach(Control cr in this.FindControl("Form1").Controls)
{
 if(cr is TextBox)
  {
   ((TextBox)cr).Attributes["onmouseover"]="javascript:this.style.backgroundColor='#fff7ce';";
   ((TextBox)cr).Attributes["onmouseout"] = "javascript:this.style.backgroundColor='#f0fff0';";
  }
}
开始用foreach(Control cr in this.Controls)怎么都不行,因为它不直接属于this的控件集合。

2。DataGrid里面所有button添加一个属性:
LinkButton button = (LinkButton) e.Item.FindControl("LinkButton1");
button.Attributes.Add ("onclick","return confirm (\"确定要删除此项记录吗?\")");

3。DataGrid嵌套:
LoveCherry大哥已经作了详细说明,其实只要掌握这个规律作什么嵌套都不应该是难事,(没有考虑效率)
当然具体问题具体分析。
请各位兄弟给与斧正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值