好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > ASP.NET中實現Form表單字段值自動填充到操作模型中

ASP.NET中實現Form表單字段值自動填充到操作模型中

熱門標簽:河南語音外呼系統公司 寧夏機器人電銷 400電話辦理最優質 t3出行地圖標注怎么做 400免費電話怎么辦理 河北網絡回撥外呼系統 威海電銷 外呼電銷機器人軟件 關于宗地圖標注技術規范

我們知道ASP.NET MVC有個強大的地方就是Form表單提交到action的時候,可以直接將Form的參數直接裝配到action的參數實體對象中

比如

復制代碼 代碼如下:

action方法 Register(UserModel userModel)

{

   ............................. 

}


在提交表單的時候,會自動講表單里面的字段封裝到對應的UserModel字段里面

那么 WebForm里面可不可以也紫將呢?

因為每次都要去獲得數據,優秀的程序員應該要學會代碼封裝,代碼復用,重復的工作不要做

我們其實可以利用反射來實例化對象的(自動裝配)

好了廢話不多....

pageload里面很簡單了

復制代碼 代碼如下:

protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPost())
            {
                InitPage();//第一次訪問呈現頁面
            }
            else
            {
                UserModel userModel = AssembleModelUserModel>(base.valueCollection);
            }
        }

關鍵就是基類里面的AssembleModel 方法了

基類里面

我們首先獲取到上下文的參數 IT404

復制代碼 代碼如下:

protected NameValueCollection valueCollection = HttpContext.Current.Request.Params;

基類很簡單,就是將上下文的提交的參數存放到valueCollection

然后再看AssembleModel方法了,這是一個泛型方法

復制代碼 代碼如下:

/// summary>
        /// 反射獲取類的屬性
        /// /summary>
        /// param name="type">/param>
        /// returns>/returns>
        protected PropertyInfo[] GetPropertyInfoArray(Type type)
        {
            PropertyInfo[] props = null;
            try
            {
                object obj = Activator.CreateInstance(type);
                props = type.GetProperties(BindingFlags.Public | BindingFlags.Instance);
            }
            catch (Exception ex)
            {

            }
            return props;
        }

        /// summary>
        /// 根據NameValueCollection 自動裝配
        /// /summary>
        /// typeparam name="T">/typeparam>
        /// param name="valueCollection">/param>
        /// returns>/returns>
        protected T AssembleModelT>(NameValueCollection valueCollection)
        {
            PropertyInfo[] propertyInfoList = GetPropertyInfoArray(typeof(T));
            object obj = Activator.CreateInstance(typeof(T), null);//創建指定類型實例
            foreach (string key in valueCollection.Keys)//所有上下文的值
            {
                foreach (var PropertyInfo in propertyInfoList)//所有實體屬性
                {
                    if (key.ToLower() == PropertyInfo.Name.ToLower())
                    {
                        PropertyInfo.SetValue(obj, valueCollection[key], null);//給對象賦值
                    }
                }
            }
            return (T)obj;
        }

很簡單,就是遍歷參數,然后用反射遍歷出實體類的共有屬性,然后根據名字name來匹配和賦值

所以以后我們只需要一句代碼 就能自動裝配上從客戶端存過來的值了

復制代碼 代碼如下:

UserModel userModel = AssembleModelUserModel>(base.valueCollection);

您可能感興趣的文章:
  • asp.net 代碼隱藏的編碼模型
  • ASP.NET MVC3關于生成純靜態后如何不再走路由直接訪問靜態頁面
  • ASP.NET的事件模型(很適合學習的文章)
  • asp.net mvc路由篇 如何找到 IHttpHandler方法介紹
  • ASP.NET Web API教程 創建域模型的方法詳細介紹
  • asp.net不用設置iis實現url重寫 類似偽靜態路由
  • ASP.NET MVC5 網站開發框架模型、數據存儲、業務邏輯(三)
  • 為ASP.NET MVC及WebApi添加路由優先級
  • 淺析ASP.NET路由模型工作原理

標簽:咸寧 樂山 吉林 固原 池州 廣元 賀州 淮北

巨人網絡通訊聲明:本文標題《ASP.NET中實現Form表單字段值自動填充到操作模型中》,本文關鍵詞  ASP.NET,中,實現,Form,表單,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《ASP.NET中實現Form表單字段值自動填充到操作模型中》相關的同類信息!
  • 本頁收集關于ASP.NET中實現Form表單字段值自動填充到操作模型中的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 快进来别添了受不了| 网站色情美女视频| 国产免费观看网站黄页| 国产精品美女午夜爽爽爽免费| 炕头淑芬撅起大白屁股视频| 浩久公司简介| 日日摸日日添夜夜爽97| 精品国产污污网站在线看免费 | GayFuckGayFuckingGV| 美女黄图无遮挡| 五月槐花香高清在线观看| 撒尿pissingvideos| 欧美性猛交一区二区三区精品| 国产片一级特黄aa的大片| 欧亚色视频| 公交车侵犯系列第5部分| (总/攻n/p)| 国产三级网页| 男女羞羞视频网站免费 | 嗯灬啊灬把腿张开灬小柔仙子| 巜隔壁的人妻2伦丰满| 美女脱个精光露出小网站| 我想舔你下面| 天天做夜夜做| 荡女婬乱共妻小说免费| 欧美视频一区二区三区88| 狠狠大日本亚洲香蕉亚洲| 秋霞手机电影| 女同性做受全过程gif| 精品亚洲AV无码波多野结衣| 永久免费AV无码国产网站18禁| 黑料不打烊最新地址| 国产欧美日韩在线观看| 开心激情五月网| 极品女教师波多野结衣33分钟| 亚洲熟女AV综合一区二区三区| 521av香蕉| 日操夜干| 纲手熟蜜姬羞羞漫画同人漫画| 国产女人和拘一级A片| 伊人狠狠色丁香综合尤物|