.net 获取页面中指定类型的控件(母板页 内容页)
public partial class SiteMaster : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
// GridView gv = this.MainContent.FindControl("GridView1") as GridView; //每个页面的GridViewid一样的情况下
List<System.Web.UI.Control> list = GetControls(this.MainContent.Controls, typeof(GridView));//获取内容页中的所有GridView控件
foreach (GridView gv in list)
{
gv.FooterStyle.CssClass = "gridviewfooterstyle";
gv.HeaderStyle.CssClass = "gridviewfooterstyle";
gv.PagerStyle.CssClass = "gridviewfooterstyle";
gv.RowStyle.CssClass = "gridviewfooterstyle";
gv.SelectedRowStyle.CssClass = "gridviewfooterstyle";
}
}
private List<System.Web.UI.Control> GetControls(System.Web.UI.ControlCollection ctrls, Type t)
{
List<System.Web.UI.Control> list = new List<System.Web.UI.Control>();
foreach (System.Web.UI.Control ctrl in ctrls)
{
if (ctrl.GetType() == t)
{
list.Add(ctrl);
}
if (ctrl.Controls.Count > 0)
{
foreach (System.Web.UI.Control c in ctrl.Controls)
{
list.AddRange(GetControls(c.Controls, t));
}
}
}
return list;
}
}
浙公网安备 33010602011771号