我们有一些代码旨在在 ASP.NET Web 表单页面及其值上构建控件的键/值对。我们使用“控件”集合和递归来构建这个键/值对。
唯一的问题是 ascx 控件似乎没有出现在“控件”集合中。相反,我们得到了 ascx 上的控件。
类似于以下代码的内容:
protected override void OnLoad(EventArgs e)
{
GetControls(this);
}
protected void GetControls(System.Web.UI.Control ctl)
{
foreach (Control subCtl in ctl.Controls)
{
GetControls(subCtl);
string value;
if (GetValueFromControl(subCtl, out value))
{
_ControlValues.Add(subCtl.ClientID, value);
}
}
}
subCtl 永远不是 ascx 控件。有没有办法在页面上获取 ascx 控件的列表,或者更好的是包含两种类型的不同集合?
谢谢
汉斯