我正在尝试使用递归函数在ASP.NET页面内找到TextBox控件。找到此控件后,我想终止该函数并返回它。
我的主要问题是我无法停止递归函数并返回控件。
这是我的代码:
//execute recursive function to find a control in page by its id
TextBox textbox = GetTextBoxByID(controlCollection, id);
//recursive function
private TextBox GetTextBoxByID(ControlCollection controlCollection, string id)
{
foreach (Control control in controlCollection)
{
if (control is TextBox)
{
TextBox tb = (TextBox)control;
if (tb.ID == id)
{
//return selected texbox and terminate this recursion
return tb;
}
}
if (control.HasControls())
{
GetTextBoxByID(control.Controls, id);
}
}
//no control found return null
return null;
}
您还缺少一张支票,就在这里:
if (control.HasControls())
{
var result = GetTextBoxByID(control.Controls, id);
if (result != null)
return result;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句