目前專案用MasterPage取代以前的frameset來分割網頁,已經做了好幾張網頁後才發現這個問題--
如果要在MasterPage裡找到某個Control,要一路找好幾層的Container才找的到。實在是FindControl Find到很怒,乾脆寫支程式遞迴下去跑。
////// 遞迴找出P_StartingControl裡第一個以P_ControlName命名的Control,找不到則回傳null /// public static Control FindWebControl(Control P_StartingControl, string P_ControlName) { Control rtnCtl = null; if (P_StartingControl.Controls.Count > 0) { foreach (Control ctl in P_StartingControl.Controls) { if (ctl.ID != null && ctl.ID.Equals(P_ControlName)) { rtnCtl = ctl; break; } else { rtnCtl = FindWebControl(ctl, P_ControlName); if (rtnCtl != null) break; } } } return rtnCtl; }
這支程式的缺點是,回傳的Control要自己轉型...(遮臉