示例#1
0
        private void FillNamedControlsTable(Control namingContainer, ControlCollection controls) {
            Debug.Assert(namingContainer._occasionalFields != null);
            Debug.Assert(namingContainer._occasionalFields.NamedControls != null);
            Debug.Assert((controls != null) && (controls.Count != 0));

            int controlCount = controls.Count;
            for (int i=0; i < controlCount; i++) {
                Control control = controls[i];
                if (control._id != null) {
#if DEBUG
                    if (control._namingContainer != null) {
                        Debug.Assert(control._namingContainer == namingContainer);
                    }
#endif // DEBUG
                    try {
                        namingContainer.EnsureOccasionalFields();
                        namingContainer._occasionalFields.NamedControls.Add(control._id, control);
                    }
                    catch {
                        throw new HttpException(SR.GetString(SR.Duplicate_id_used, control._id, "FindControl"));
                    }
                }
                if (control.HasControls() && (control.flags[isNamingContainer] == false)) {
                    FillNamedControlsTable(namingContainer, control.Controls);
                }
            }
        }
 private void FillNamedControlsTable(Control namingContainer, ControlCollection controls)
 {
     int count = controls.Count;
     for (int i = 0; i < count; i++)
     {
         Control control = controls[i];
         if (control._id != null)
         {
             try
             {
                 namingContainer.EnsureOccasionalFields();
                 namingContainer._occasionalFields.NamedControls.Add(control._id, control);
             }
             catch
             {
                 throw new HttpException(System.Web.SR.GetString("Duplicate_id_used", new object[] { control._id, "FindControl" }));
             }
         }
         if (control.HasControls() && !control.flags[0x80])
         {
             this.FillNamedControlsTable(namingContainer, control.Controls);
         }
     }
 }