今天开博了2007-7-16

开博没有太监的客。。。

 

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

posted on 2005-05-10 18:09  胡敏  阅读(1182)  评论(0编辑  收藏  举报

导航