Beim Debuggen eines Problems habe ich auf einem DetailsView ein Steuerelement in einer der Vorlagen finden, die ich etwas seltsam begegnet. Ich habe eine rekursive FindControl Extension implementiert, und es war, wo ein Steuerelement mit einer ID gefunden wurde, die sich komplett von der unterscheidet, nach der ich gesucht habe. Die Implementierung ruft im Grunde Findcontrol für das übergeordnete Steuerelement und anschließend, wenn nichts gefunden wurde, die rekursive Funktion für die untergeordneten Steuerelemente auf.FindControl-Implementierung
Ich begann mit Reflektor in das asp.net Code Graben und herausgefunden, wie die Umsetzung für eine checkboxs Findcontrol-Methode, wo (die in System.Web.UI.WebControls.CheckBoxList)
protected override Control FindControl(string id, int pathOffset)
{
return this;
}
Diese jetzt Alles macht Sinn, warum mein FindControl eine CheckBoxList gefunden hat, ich kann jedoch keine Gründe für diese Implementierung sehen, könnte mich jemand aufklären?