/// <summary> /// 检查control 及其子control,如果formCtrlInfo中有定义则绑定tooltip信息及validator到这个控件。 /// </summary> /// <param name="ctl">control object</param> /// <remarks>TODO:需要对各种控件进行仔细分析。</remarks> private void FillControl(Control ctl) { if (ctl.Controls.Count > 0) { //TODO : 将所有的自定义控件过滤掉 foreach (Control ctrl in ctl.Controls) { this.FillControl(ctrl); } } else { if (ctl.GetType().ToString() != "System.Web.UI.WebControls.Label") { ICtrlInfo ci = this.formCtrlInfo[ctl.ClientID] as ICtrlInfo; if (ci != null) { if (ctl is WebControl) { (ctl as WebControl).ToolTip = ci.Help; } if (ctl is TextBox) { if (ci.CtrlLength != 0)//textbox 的最大输入长度。 { (ctl as TextBox).MaxLength = ci.CtrlLength; if ((ctl as TextBox).TextMode == TextBoxMode.MultiLine) { (ctl as TextBox).Attributes.Add("onblur", "tbxVallenCheck(" + ctl.ID + ", " + ci.CtrlLength + ", '超过最大长度:')"); } } } if (ci.Validator != null) { for (int i = 0; i < ci.Validator.Length; i++) { if (ci.Validator[i] != null) { // if (!this.page .Validators.Contains(ci.Validator [i])) // { // this.page .Validators .Add (ci.Validator [i]); // } //test to remove. (ci.Validator[i] as BaseValidator).ControlToValidate = ctl.ClientID; } } //一个控件对应一个数组 hashValidator.Add(ctl.ClientID, ci.Validator); } } } } }
internal void Add(ICtrlInfo ci) { base.Add(ci.CtrlName, ci); }