有没有办法找出 ASP.Net 应用程序的每个页面中使用的控件的数量?请帮忙
问问题
89 次
1 回答
1
你为什么需要它?首先定义控件,所有源自System.Web.UI.Control
?
您可以编写一个递归扩展方法,它会延迟返回所有控件,那么它很简单:
protected void Page_PreRender(object sender, EventArgs e)
{
var allControls = this.GetControlsRecursively().ToList();
}
这是一个可能的实现:
public static class ControlExtensions
{
public static IEnumerable<Control> GetControlsRecursively(this Control parent)
{
foreach (Control c in parent.Controls)
{
yield return c;
if (c.HasControls())
{
foreach (Control control in c.GetControlsRecursively())
{
yield return control;
}
}
}
}
}
于 2013-02-15T08:34:42.977 回答