- public static List<T> FindSpecTypeCtrls<T>(this Control container, List<T> ctrls)
- where T : Control
- {
- if (container.Controls.OfType<Control>().Any())
- {
- foreach (Control item in container.Controls.OfType<Control>())
- {
- if (item is T)
- {
- T obj = (T)item;
- ctrls.Add(obj);
- }
- else
- {
- FindSpecTypeCtrls<T>(item, ctrls);
- }
- }
- }
- return ctrls;
- }
- public static List<T> FindSpecTypeCtrlsWhereIdContainsStr<T>(this Control container, string str)
- where T : Control
- {
- List<T> ctrls = new List<T>();
- FindSpecTypeCtrls<T>(container, ctrls);
- ctrls = ctrls.Where(ctrl => !string.IsNullOrEmpty(ctrl.ID) && ctrl.ID.Contains(str)).ToList();
- return ctrls;
- }
使用 masterpage
- public static ContentPlaceHolder GetPlaceHolderById(this Page page, string placeHolderId)
- {
- return (ContentPlaceHolder)page.Master.FindControl(placeHolderId);
- }
- public static T FindCtrlByIdInMasterPage<T>(this Page page, string placeHolderId, string id)
- where T : Control
- {
- T ctrl = (T)page.GetPlaceHolderById(placeHolderId).FindControl(id);
- return ctrl;
- }
沒有留言:
張貼留言