• 把数据显示到页面和从页面取数据的方法


        //数据显示到页面
        protected void BindDataToPage(Asset act)
        {

            var panelContent = Page.FindControl("PanelAsset");
            Control ctrlFounded;
            TextBox txtField;
            DropDownList ddlField;
            CheckBox chkField;
            string strTemp;

            // 设置控件的值
            Type actType = act.GetType();
            PropertyInfo[] properties = actType.GetProperties();
            foreach (PropertyInfo p in properties)
            {
                //找下拉框
                ctrlFounded = panelContent.FindControl("DDL" + p.Name);
                if (ctrlFounded != null)
                {
                    if (ctrlFounded.GetType() == typeof(DropDownList))
                    {
                        ddlField = (DropDownList)ctrlFounded;
                        strTemp = p.GetValue(act, null).ToString();
                        ddlField.SelectedValue = strTemp;
                    }
                    continue;
                }
                //再找文本框
                ctrlFounded = panelContent.FindControl("Txt" + p.Name);
                if (ctrlFounded != null)
                {
                    if (ctrlFounded.GetType() == typeof(TextBox))
                    {
                        txtField = (TextBox)ctrlFounded;
                        txtField.Text = p.GetValue(act, null).ToString();
                    }
                    continue;
                }
                //再找单选框
                ctrlFounded = panelContent.FindControl("Chk" + p.Name);
                if (ctrlFounded != null)
                {
                    if (ctrlFounded.GetType() == typeof(CheckBox))
                    {
                        chkField = (CheckBox)ctrlFounded;
                        chkField.Checked = (bool)p.GetValue(act, null);
                    }
                    continue;
                }
                //找不到,返回
            }
        }
        //从页面取数据
        protected Asset GetDataFormPage(Asset act)
        {
            var panelContent = Page.FindControl("PanelAsset");
            Control ctrlFounded;
            TextBox txtField;
            DropDownList ddlField;
            CheckBox chkField;
            string strTemp;

            // 从控件的返回值
            Type actType = act.GetType();
            PropertyInfo[] properties = actType.GetProperties();
            foreach (PropertyInfo p in properties)
            {
                //找下拉框
                ctrlFounded = panelContent.FindControl("DDL" + p.Name);
                if (ctrlFounded != null)
                {
                    if (ctrlFounded.GetType() == typeof(DropDownList))
                    {
                        ddlField = (DropDownList)ctrlFounded;

                        if (p.PropertyType.Name == "Boolean")
                        {
                            p.SetValue(act, ddlField.SelectedValue == "0" ? false : true, null);
                        }
                        else
                        {
                            p.SetValue(act, Convert.ChangeType(ddlField.SelectedValue, p.PropertyType), null);
                        }

                    }
                    continue;
                }
                //再找文本框
                ctrlFounded = panelContent.FindControl("Txt" + p.Name);
                if (ctrlFounded != null)
                {
                    if (ctrlFounded.GetType() == typeof(TextBox))
                    {
                        txtField = (TextBox)ctrlFounded;
                        p.SetValue(act, Convert.ChangeType(txtField.Text, p.PropertyType), null);

                    }
                    continue;
                }
                //再找单选框
                ctrlFounded = panelContent.FindControl("Chk" + p.Name);
                if (ctrlFounded != null)
                {
                    if (ctrlFounded.GetType() == typeof(CheckBox))
                    {
                        chkField = (CheckBox)ctrlFounded;
                        p.SetValue(act, Convert.ChangeType(chkField.Checked, p.PropertyType), null);

                    }
                    continue;
                }
                //找不到,返回
            }


            return act;

        }
  • 相关阅读:
    简单的php socket 实例
    正则表达式语法
    js 固话正则
    php性能剖析的几款软件
    mysql基准测试
    mysql事务
    PHP字符串函数
    Git的使用---4.git的基本使用
    Git的使用---3.git的配置
    Git的使用---2.git的安装
  • 原文地址:https://www.cnblogs.com/zhukezhuke/p/1534711.html
Copyright © 2020-2023  润新知