<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        ASP.NET中實現把form表單元素轉為實體對象或集合

        來源:懂視網 責編:小采 時間:2020-11-27 22:38:28
        文檔

        ASP.NET中實現把form表單元素轉為實體對象或集合

        ASP.NET中實現把form表單元素轉為實體對象或集合:簡介: 做WEBFROM開發的同學都知道后臺接收參數非常麻煩 雖然MVC中可以將表單直接轉為集實,但不支持表單轉為 LIST<T>這種集合 單個對象的用法: 表單: 代碼如下: <input name='id' value='1' > <input name='s
        推薦度:
        導讀ASP.NET中實現把form表單元素轉為實體對象或集合:簡介: 做WEBFROM開發的同學都知道后臺接收參數非常麻煩 雖然MVC中可以將表單直接轉為集實,但不支持表單轉為 LIST<T>這種集合 單個對象的用法: 表單: 代碼如下: <input name='id' value='1' > <input name='s

        簡介:

        做WEBFROM開發的同學都知道后臺接收參數非常麻煩

        雖然MVC中可以將表單直接轉為集實,但不支持表單轉為 LIST<T>這種集合

        單個對象的用法:

        表單:

        代碼如下:
        <input name='id'  value='1' >
        <input name='sex'  value='男' >

        后臺:
        代碼如下:
        //以前寫法
                    DLC_category d = new DLC_category();
                    d.sex = Request["sex"];
                    d.id = Convert.ToInt32(Request["id"]);


                    //現在寫法
                    var category = RequestToModel.GetSingleForm<DLC_category>();

        集合對象的用法:

        表單:
        代碼如下:
        <input name='id'  value='1' >
        <input name='sex'  value='男' >
         
         
        <input name='id'  value='2' >
        <input name='sex'  value='女' >
         
        <input name='id'  value='3' >
        <input name='sex'  value='女' >

        后臺:
        代碼如下:
          List<DLC_category> categoryLists = RequestToModel.GetListByForm<DLC_category>();

        源碼:

        using System;
        using System.Collections.Generic;
        using System.Linq;
        using System.Web;
         
        namespace SyntacticSugar
        {
         /// <summary>
         /// ** 描述:表單幫助類
         /// ** 創始時間:2015-4-17
         /// ** 修改時間:-
         /// ** 作者:sunkaixuan
         /// ** qq:610262374 歡迎交流,共同提高 ,命名語法等寫的不好的地方歡迎大家的給出寶貴建議
         /// </summary>
         public class RequestToModel
         {
         
         /// <summary>
         /// 提交表單通過反射獲取單個像
         /// 注意:表單控件name必包含對應類中的第一個字段,否則將報錯
         /// </summary>
         public static T GetSingleForm<T>() where T : new()
         {
         T t = SetList<T>(null, 0).Single();
         return t;
         }
         
         
         /// <summary>
         /// 提交表單通過反射獲取單個像
         /// 注意:表單控件name必包含對應類中的第一個字段,否則將報錯
         /// <param name="appstr">控件前綴,比如 name="form1.sex" appstr可以設為form1</param>
         /// </summary>
         public static T GetSingleForm<T>(string appstr) where T : new()
         {
         T t = SetList<T>(appstr, 0).Single();
         return t;
         }
         
         /// <summary>
         /// 提交表單通過反射獲取多個對像
         /// 注意:表單控件name必包含對應類中的第一個字段,否則將報錯
         /// </summary>
         /// <typeparam name="type"></typeparam>
         /// <param name="type"></param>
         /// <returns></returns>
         public static List<T> GetListByForm<T>() where T : new()
         {
         List<T> t = SetList<T>(null, 0);
         return t;
         }
         
         /// <summary>
         /// 提交表單通過反射獲取多個對像
         /// 注意:表單控件name必包含對應類中的第一個字段,否則將報錯
         /// </summary>
         /// <typeparam name="type"></typeparam>
         /// <param name="appstr">控件前綴,比如 name="form1.sex" appstr可以設為form1</param>
         /// <returns></returns>
         public static List<T> GetListByForm<T>(string appstr) where T : new()
         {
         List<T> t = SetList<T>(appstr, 0);
         return t;
         }
         
         
         /// <summary>
         /// 提交表單通過反射獲取多個對像
         /// </summary>
         /// <typeparam name="type"></typeparam>
         /// <param name="appstr">控件前綴,比如 name="form1.sex" appstr可以設為form1</param>
         /// <typeparam name="index">表單控件中第一個控件,對應類中字段在該類中的索引號,特殊情況可以是第二第三控件</typeparam>
         /// <returns></returns>
         private static List<T> GetListByForm<T>(string appstr, int index) where T : new()
         {
         List<T> t = SetList<T>(appstr, index);
         return t;
         }
         
         
         
         private static List<T> SetList<T>(string appendstr, int index) where T : new()
         {
         List<T> t = new List<T>();
         try
         {
         var properties = new T().GetType().GetProperties();
         var subNum = System.Web.HttpContext.Current.Request[appendstr + properties[index].Name].Split(',').Length;
         for (int i = 0; i < subNum; i++)
         {
         var r = properties;
         var model = new T();
         foreach (var p in properties)
         {
         string pval = System.Web.HttpContext.Current.Request[appendstr + p.Name + ""];
         if (!string.IsNullOrEmpty(pval))
         {
         pval = pval.Split(',')[i];
         string pptypeName = p.PropertyType.Name;
         p.SetValue(model, Convert.ChangeType(pval, p.PropertyType), null);
         }
         }
         t.Add(model);
         }
         }
         catch (Exception ex)
         {
         
         
         throw ex;
         }
         
         
         return t;
         }
         }
        }
        

        聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        ASP.NET中實現把form表單元素轉為實體對象或集合

        ASP.NET中實現把form表單元素轉為實體對象或集合:簡介: 做WEBFROM開發的同學都知道后臺接收參數非常麻煩 雖然MVC中可以將表單直接轉為集實,但不支持表單轉為 LIST<T>這種集合 單個對象的用法: 表單: 代碼如下: <input name='id' value='1' > <input name='s
        推薦度:
        標簽: 對象 轉為 表單
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲国产综合精品中文字幕| 亚洲熟妇av一区二区三区| 国产一级理论免费版| 国产成人精品日本亚洲直接| 国产午夜亚洲精品不卡| a毛片免费全部在线播放**| 久久久久国产亚洲AV麻豆| 久久国产精品免费一区| 在线播放亚洲第一字幕| 亚洲精品无码成人| 国产精品二区三区免费播放心| 亚洲av永久中文无码精品综合| 国产男女猛烈无遮挡免费视频| 深夜a级毛片免费视频| 亚洲天堂中文字幕在线| 在线播放免费人成毛片乱码 | 日本免费无遮挡吸乳视频电影| 亚洲精品福利视频| 亚欧人成精品免费观看| 亚洲人成无码网站在线观看| 亚洲国产高清精品线久久| 99久久99这里只有免费的精品| 亚洲免费在线视频| 日韩一区二区a片免费观看 | 亚洲人成人77777在线播放| 最近中文字幕免费mv视频8| 久久青青草原亚洲av无码app | 最好看最新的中文字幕免费| 亚洲无限乱码一二三四区| 日本免费一区尤物| 三上悠亚电影全集免费| 亚洲一卡2卡4卡5卡6卡在线99 | 亚洲heyzo专区无码综合| 亚洲伊人成无码综合网| 99精品在线免费观看| 亚洲男人天堂av| 我想看一级毛片免费的| 国产99视频精品免费视频76| 亚洲国产av高清无码| 亚洲无线一二三四区手机| 免费能直接在线观看黄的视频|