我试图将两个变量设置为两个各自的控件,而我的当前代码无法工作。正确的语法是什么?
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。
发布于 2013-10-29 20:57:46
.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;
}https://stackoverflow.com/questions/19638149
复制相似问题