いいえ、残念ながらそのようなものは存在しません。
あなたにとって本当に重要な場合は、マスターまたはページで次を実装できますPage_Init
。
protected void Page_Init(object sender, EventArgs e)
{
var types = new Type[] {
typeof(Repeater), typeof(DataGrid), typeof(GridView),
typeof(DataList), typeof(ListView), typeof(FormView)
};
var allControls = new List<Control>();
FindChildControlsRecursive(Page, types, allControls);
foreach (var ctrl in allControls)
{
ctrl.ClientIDMode = ClientIDMode.Predictable;
}
}
public void FindChildControlsRecursive(Control control, IList<Type> types, IList<Control> result)
{
foreach (Control childControl in control.Controls)
{
var controlType = childControl.GetType();
if (typeof(Control).IsAssignableFrom(controlType) && types.Contains(controlType))
{
result.Add((Control)childControl);
}
else
{
FindChildControlsRecursive(childControl, types, result);
}
}
}
しかし、私の意見では、これは思い出させるには多すぎる.