Habanero.Faces.Base.ControlNamingStrategy.GetUniqueControlNameWithin C# (CSharp) Method

GetUniqueControlNameWithin() public method

Determines a unique name for the control within the context of the controls that already exist in the containerControl.
public GetUniqueControlNameWithin ( IControlHabanero containerControl, string name ) : string
containerControl IControlHabanero The control within which the supplied should be unique.
name string The name to be altered for uniqueness.
return string
        public string GetUniqueControlNameWithin(IControlHabanero containerControl, string name)
        {
            var uniqueName = name;
            var index = 0;
            if (containerControl == null) return uniqueName;
            var siblingControls = containerControl.Controls.OfType<IControlHabanero>().ToList();
            while (siblingControls.Any(ctl => ctl.Name == uniqueName))
            {
                index++;
                uniqueName = string.Format("{0}_{1}", name, index);
            }
            return uniqueName;
        }
    }

Usage Example

コード例 #1
0
 private void EnsureControlNameUnique(IControlHabanero labelControl, IControlHabanero containerControl)
 {
     labelControl.Name = _controlNamingStrategy.GetUniqueControlNameWithin(containerControl, labelControl.Name);
 }