第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

動態(tài)數(shù)據(jù)類型轉(zhuǎn)換

標(biāo)簽:
架構(gòu)

这是我的工具包里的一部分代码

部分方法已被我移值到我的框架去,做为实体的基类的默认方法。

 

代码

using System;
using System.Collections.Generic;
using System.Text;
using System.Web.UI;
using System.Reflection;
using System.Web.UI.WebControls;

namespace Toolkit
{
    /// <summary>
    /// 表的字段设置/获到值操作类
    /// </summary>
    public class TableValue
    {
        Object entity;//实体对象
        Type typeInfo;//实体对象类型
        /// <summary>
        /// 表的字段设置/获到值操作类构造函数
        /// </summary>
        /// <param name="entityInstance">传进表的实体</param>
        public TableValue(Object entityInstance)
        {
            entity = entityInstance;
            typeInfo = entity.GetType();
        }
        /// <summary>
        /// 将实体的值设置到控件中
        /// </summary>
        /// <param name="ct"></param>
        public void SetTo(Control ct)
        {
            string propName = ct.ID.Substring(3);
            object value = GetPropertyValue(propName);
            switch (ct.GetType().Name)
            {
                case "TextBox":
                    ((TextBox)ct).Text = Convert.ToString(value);
                    break;
                case "Literal":
                    ((Literal)ct).Text = Convert.ToString(value);
                    break;
                case "Label":
                    ((Label)ct).Text = Convert.ToString(value);
                    break;
                case "DropDownList":
                    ((DropDownList)ct).SelectedValue = Convert.ToString(value);
                    break;
                case "CheckBox":
                    bool tempValue;
                    if (Convert.ToString(value) == "1")
                    {
                        tempValue = true;
                    }
                    else
                    {
                        bool.TryParse(Convert.ToString(value), out tempValue);
                    }
                    ((CheckBox)ct).Checked = tempValue;
                    break;
            }
           
        }
        /// <summary>
        /// 将控件的值设置到实体中[默认从控件中自动获取值]
        /// </summary>
        /// <param name="ct">控件</param>
        /// <param name="value">自定义值,若此值存在,则不从控件中获取值</param>
        public void GetFrom(Control ct, object value)
        {
            string propName = ct.ID.Substring(3);
            if (value == null)
            {
                switch (ct.GetType().Name)
                {
                    case "TextBox":
                        value = ((TextBox)ct).Text.Trim();
                        break;
                    case "Literal":
                        value=((Literal)ct).Text;
                        break;
                    case "Label":
                        value = ((Label)ct).Text;
                        break;
                    case "DropDownList":
                        value = ((DropDownList)ct).SelectedValue;
                        break;
                    case "CheckBox":
                        value = ((CheckBox)ct).Checked;
                        break;
                }
            }
            SetPropertyValue(propName, value);
        }
        /// <summary>
        /// 将控件的值设置到实体中
        /// </summary>
        /// <param name="ct">控件</param>
        public void GetFrom(Control ct)
        {
            GetFrom(ct, null);
        }
        /// <summary>
        /// 获取对象指定属性的值
        /// </summary>
        /// <param name="obj">对象</param>
        /// <param name="propName">属性名称</param>
        /// <returns></returns>
        private  object GetPropertyValue(string propName)
        {
            PropertyInfo prop = typeInfo.GetProperty(propName);
            return prop.GetValue(entity, null);
        }
        /// <summary>
        /// 设置对象指定属性的值
        /// </summary>
        /// <param name="obj">对象</param>
        /// <param name="propName">属性名称</param>
        /// <returns></returns>
        private void SetPropertyValue(string propName, object value)
        {
            PropertyInfo prop = typeInfo.GetProperty(propName);
            Type valueType = null;
            if (prop.PropertyType.Name.Contains("Nullable"))
            {
                valueType = Type.GetType(prop.PropertyType.FullName.Substring(19, prop.PropertyType.FullName.IndexOf(",") - 19));
            }
            else
            {
                valueType = prop.PropertyType;
            }
            try
            {
                if (valueType.Name != "DateTime" || Convert.ToString(value) != "")
                {
                    value = System.ComponentModel.TypeDescriptor.GetConverter(valueType).ConvertFrom(Convert.ToString(value));
                    prop.SetValue(entity, value, null);
                }
            }
            catch
            {
            }
        }
    }
}

 

 

點擊查看更多內(nèi)容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學(xué)

大額優(yōu)惠券免費領(lǐng)

立即參與 放棄機會
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消