今天试用setto的绑定,和getform的获取发现html服务器控件无法正确获取和绑定值,看了下发现是类型为Literal的都获取不到。这里把html控件也加进去了。
这是获取值的
1 public void SetTo(Control ct, object value, bool isControlEnabled) 2 { 3 string propName = ct.ID.Substring(3); 4 if (value == null) 5 { 6 value = _Row[propName].Value; 7 } 8 switch (ct.GetType().Name) 9 { 10 case "HtmlInputText": 11 ((HtmlInputText)ct).Value = Convert.ToString(value); 12 ((HtmlInputText)ct).Disabled = !isControlEnabled; 13 break; 14 case "HtmlSelect": 15 ((HtmlSelect)ct).Value = Convert.ToString(value); 16 ((HtmlSelect)ct).Disabled = !isControlEnabled; 17 break; 18 case "HtmlInputHidden": 19 ((HtmlInputHidden)ct).Value = Convert.ToString(value); 20 break; 21 case "HtmlInputPassword": 22 ((HtmlInputPassword)ct).Value = Convert.ToString(value); 23 ((HtmlInputPassword)ct).Disabled = !isControlEnabled; 24 break; 25 case "HtmlTextArea": 26 ((HtmlTextArea)ct).Value = Convert.ToString(value); 27 ((HtmlTextArea)ct).Disabled = !isControlEnabled; 28 break; 29 case "Literal": 30 ((Literal)ct).Text = Convert.ToString(value); 31 break; 32 case "Label": 33 ((Label)ct).Text = Convert.ToString(value); 34 break; 35 case "HiddenField": 36 ((HiddenField)ct).Value = Convert.ToString(value); 37 break; 38 case "TextBox": 39 ((TextBox)ct).Text = Convert.ToString(value); 40 ((TextBox)ct).Enabled = isControlEnabled; 41 break; 42 case "DropDownList": 43 ((DropDownList)ct).SelectedValue = Convert.ToString(value); 44 ((DropDownList)ct).Enabled = isControlEnabled; 45 break; 46 case "CheckBox": 47 bool tempValue; 48 if (Convert.ToString(value) == "1") 49 { 50 tempValue = true; 51 } 52 else 53 { 54 bool.TryParse(Convert.ToString(value), out tempValue); 55 } 56 ((CheckBox)ct).Checked = tempValue; 57 ((CheckBox)ct).Enabled = isControlEnabled; 58 break; 59 } 60 }
这是设置值的:
1 public void SetTo(Control ct, object value, bool isControlEnabled) 2 { 3 string propName = ct.ID.Substring(3); 4 if (value == null) 5 { 6 value = _Row[propName].Value; 7 } 8 switch (ct.GetType().Name) 9 { 10 case "HtmlInputText": 11 ((HtmlInputText)ct).Value = Convert.ToString(value); 12 ((HtmlInputText)ct).Disabled = isControlEnabled; 13 break; 14 case "HtmlSelect": 15 ((HtmlSelect)ct).Value = Convert.ToString(value); 16 ((HtmlSelect)ct).Disabled = isControlEnabled; 17 break; 18 case "HtmlInputHidden": 19 ((HtmlInputHidden)ct).Value = Convert.ToString(value); 20 break; 21 case "HtmlInputPassword": 22 ((HtmlInputPassword)ct).Value = Convert.ToString(value); 23 ((HtmlInputPassword)ct).Disabled = isControlEnabled; 24 break; 25 case "HtmlTextArea": 26 ((HtmlTextArea)ct).Value = Convert.ToString(value); 27 ((HtmlTextArea)ct).Disabled = isControlEnabled; 28 break; 29 case "Literal": 30 ((Literal)ct).Text = Convert.ToString(value); 31 break; 32 case "Label": 33 ((Label)ct).Text = Convert.ToString(value); 34 break; 35 case "HiddenField": 36 ((HiddenField)ct).Value = Convert.ToString(value); 37 break; 38 case "TextBox": 39 ((TextBox)ct).Text = Convert.ToString(value); 40 ((TextBox)ct).Enabled = isControlEnabled; 41 break; 42 case "DropDownList": 43 ((DropDownList)ct).SelectedValue = Convert.ToString(value); 44 ((DropDownList)ct).Enabled = isControlEnabled; 45 break; 46 case "CheckBox": 47 bool tempValue; 48 if (Convert.ToString(value) == "1") 49 { 50 tempValue = true; 51 } 52 else 53 { 54 bool.TryParse(Convert.ToString(value), out tempValue); 55 } 56 ((CheckBox)ct).Checked = tempValue; 57 ((CheckBox)ct).Enabled = isControlEnabled; 58 break; 59 } 60 }
浙公网安备 33010602011771号