西瓜皮

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

今天试用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         }

 

posted on 2014-01-11 22:15  西瓜皮  阅读(311)  评论(0)    收藏  举报