通过clientID获得控制权

Roy*_*mir 6 c# controls repeater clientid

我解决了Repeater Item控件的客户端ID,我想在其他命令中使用它,我怎么能通过他的客户端ID获得控制权?

TextBox TB = FindControl ......?

Mad*_*ine 7

您是否试图找到位于转发器内的文本框?如果是这样,您可以使用下面的方法,根据控件的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;
    }
Run Code Online (Sandbox Code Playgroud)