zoukankan      html  css  js  c++  java
  • 把数据显示到页面和从页面取数据的方法

        //数据显示到页面
        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;

        }
  • 相关阅读:
    在rhel6上安装Python 2.7和Python 3.3
    RHEL7 -- Linux搭建FTP虚拟用户
    RHCE7 -- IPv6
    RHEL7 -- nmcli的使用
    设置Adobe Reader打开PDF文件保持记忆功能
    iptalbes -F
    服务器IP地址后修改SQL Server配置
    配置SELINUX
    11G新特性 -- 分区表和增量统计信息
    11G新特性 -- Statistics Preferences
  • 原文地址:https://www.cnblogs.com/zhukezhuke/p/1534711.html
Copyright © 2011-2022 走看看