Пример #1
0
        /// <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);
                        }
                    }
                }
            }
        }
Пример #2
0
 internal void Add(ICtrlInfo ci)
 {
     base.Add(ci.CtrlName, ci);
 }