我解析了Repeater Item控件的客户端ID,并且想在其他命令中使用它,
我如何无法通过他的客户ID获得控制权?

TextBox TB = FindControl ...?

最佳答案

您是否要查找位于转发器内部的文本框?如果是这样,您可以使用下面的方法根据控件的ID进行搜索-您可以对其进行修改以根据控件的clientID进行检查。

  public static System.Web.UI.Control FindControlIterative(System.Web.UI.Control root, string id)
    {
        System.Web.UI.Control ctl = root;
        var ctls = new LinkedList<System.Web.UI.Control>();

        while (ctl != null)
        {
            if (ctl.ID == id)
                return ctl;
            foreach (System.Web.UI.Control child in ctl.Controls)
            {
                if (child.ID == id)
                    return child;
                if (child.HasControls())
                    ctls.AddLast(child);
            }
            if (ctls.First != null)
            {
                ctl = ctls.First.Value;
                ctls.Remove(ctl);
            }
            else return null;
        }
        return null;
    }

10-06 07:25
查看更多