Exemplo n.º 1
0
        /// <summary>
        /// 设置表单控件数据值
        /// </summary>
        /// <param name="ctl"></param>
        /// <param name="value"></param>
        /// <returns></returns>
        internal static void SetControlValue(Control ctl, Object value)
        {
            if (ctl is IControls)
            {
                IControls c = ctl as IControls;
                if (value is Enum && value.ToString() == "ALL")
                {
                    List <String> val = new List <String>();
                    foreach (String s in Enum.GetNames(value.GetType()))
                    {
                        if (s == "None")
                        {
                            continue;
                        }
                        val.Add(s);
                    }
                    value = String.Join(",", val.ToArray());
                }
                c.SetValue(value);
            }

            #region HtmlControls

            else if (ctl is HtmlInputText)
            {
                ((HtmlInputText)ctl).Value = Convert.ToString(value);
            }
            else if (ctl is HtmlInputHidden)
            {
                ((HtmlInputHidden)ctl).Value = Convert.ToString(value);
            }
            else if (ctl is HtmlTextArea)
            {
                ((HtmlTextArea)ctl).Value = Convert.ToString(value);
            }
            else if (ctl is HtmlInputCheckBox)
            {
                ((HtmlInputCheckBox)ctl).Checked = Convert.ToBoolean(value);
            }
            else if (ctl is HtmlInputRadioButton)
            {
                ((HtmlInputRadioButton)ctl).Checked = Convert.ToBoolean(value);
            }
            else if (ctl is HtmlInputPassword)
            {
            }
            else if (ctl is HtmlSelect)
            {
                ((HtmlSelect)ctl).Value = Convert.ToString(value);
            }
            else if (ctl is HtmlInputImage)
            {
                ((HtmlInputImage)ctl).Value = Convert.ToString(value);
            }
            else if (ctl is HtmlInputFile)
            {
            }

            #endregion

            #region WebControls

            //else if (ctl is System.Web.UI.WebControls.Label)
            //{
            //    ((System.Web.UI.WebControls.Label)ctl).Text = Convert.ToString(value);
            //}
            //else if (ctl is System.Web.UI.WebControls.TextBox)
            //{
            //    System.Web.UI.WebControls.TextBox text = (System.Web.UI.WebControls.TextBox)ctl;
            //    if (text.TextMode != TextBoxMode.Password)
            //    {
            //        text.Text = Convert.ToString(value);
            //    }
            //}
            //else if (ctl is System.Web.UI.WebControls.CheckBox)
            //{
            //    ((System.Web.UI.WebControls.CheckBox)ctl).Checked = Convert.ToBoolean(value);
            //}
            //else if (ctl is System.Web.UI.WebControls.CheckBoxList)
            //{
            //    System.Web.UI.WebControls.CheckBoxList checkboxlist = ctl as System.Web.UI.WebControls.CheckBoxList;
            //    String[] split = Convert.ToString(value).Split(',');
            //    foreach (String v in split)
            //    {
            //        foreach (ListItem item in checkboxlist.Items)
            //        {
            //            if (item.Value == v)
            //            {
            //                item.Selected = true;
            //                break;
            //            }
            //        }
            //    }
            //}
            //else if (ctl is RadioButton)
            //{
            //    ((RadioButton)ctl).Checked = Convert.ToBoolean(value);
            //}
            //else if (ctl is System.Web.UI.WebControls.RadioButtonList)
            //{
            //    System.Web.UI.WebControls.RadioButtonList radiobuttonlist = ctl as System.Web.UI.WebControls.RadioButtonList;
            //    String val = Convert.ToString(value);

            //    foreach (ListItem item in radiobuttonlist.Items)
            //    {
            //        if (item.Value == val)
            //        {
            //            item.Selected = true;
            //            break;
            //        }
            //    }
            //}
            //else if (ctl is System.Web.UI.WebControls.ListBox)
            //{
            //    System.Web.UI.WebControls.ListBox listbox = ctl as System.Web.UI.WebControls.ListBox;
            //    if (listbox.SelectionMode == ListSelectionMode.Single)
            //    {
            //        listbox.SelectedValue = Convert.ToString(value);
            //    }
            //    else
            //    {
            //        String[] split = Convert.ToString(value).Split(',');
            //        foreach (String v in split)
            //        {
            //            foreach (ListItem item in listbox.Items)
            //            {
            //                if (item.Value == v)
            //                {
            //                    item.Selected = true;
            //                    break;
            //                }
            //            }
            //        }
            //    }
            //}
            //else if (ctl is System.Web.UI.WebControls.DropDownList)
            //{
            //    String _value = Convert.ToString(value);
            //    System.Web.UI.WebControls.DropDownList drop = ((System.Web.UI.WebControls.DropDownList)ctl);
            //    foreach (ListItem item in drop.Items)
            //    {
            //        if (item.Value == _value)
            //        {
            //            drop.SelectedValue = _value;
            //            break;
            //        }
            //    }
            //}
            //else if (ctl is System.Web.UI.WebControls.HiddenField)
            //{
            //    ((System.Web.UI.WebControls.HiddenField)ctl).Value = Convert.ToString(value);
            //}
            //else if (ctl is System.Web.UI.WebControls.FileUpload)
            //{

            //}
            //else if (ctl is Image)
            //{
            //    ((Image)ctl).ImageUrl = Convert.ToString(value);
            //}
            #endregion

            #region 自定义控件

            //else if (ctl is ColorPicker)
            //{
            //    ((ColorPicker)ctl).Color = Convert.ToString(value);
            //}

            #endregion
        }