[英]Finding HtmlGenericControl
我试图将两个变量设置为两个各自的控件,而我当前的代码无法正常工作。 正确的语法是什么?
ascx代码:
<ul>
<li runat="server" id="searchListItem">
<a href="javascript:void(0)">Search Keywords</a>
</li>
</ul>
<input runat="server" id="searchBox" type="text" />
ascx.vb代码:
Private Sub Page_Load (...
`other code
Dim jobsLi As HtmlGenericControl
Dim jobsBox As HtmlGenericControl
jobsLi = CType(Page.FindControl("searchListItem"), HtmlGenericControl)
jobsBox = CType(Page.FindControl("searchBox"), HtmlGenericControl)
`other code
End Sub
当我逐步执行代码时, jobsLi
和jobsBox
仍然nothing
。
.FindControl()
不会递归执行搜索,因此解决该问题的一种方法是编写一个自定义方法来执行搜索。
这些线周围的东西:
private Control FindControlRecursive(Control root, string id)
{
if (root.ID == id)
{
return root;
}
foreach (Control c in root.Controls)
{
Control t = FindControlRecursive(c, id);
if (t != null)
{
return t;
}
}
return null;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.