婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > asp.net實(shí)現(xiàn)利用反射,泛型,靜態(tài)方法快速獲取表單值到Model的方法

asp.net實(shí)現(xiàn)利用反射,泛型,靜態(tài)方法快速獲取表單值到Model的方法

熱門標(biāo)簽:濮陽外呼電銷系統(tǒng)怎么樣 地圖標(biāo)注專業(yè)團(tuán)隊(duì) 400電話辦理哪家性價(jià)比高 地圖定位圖標(biāo)標(biāo)注 塔城代理外呼系統(tǒng) 天心智能電銷機(jī)器人 遂寧市地圖標(biāo)注app 地圖標(biāo)注的公司有哪些 代理接電話機(jī)器人如何取消

本文實(shí)例講述了asp.net實(shí)現(xiàn)利用反射,泛型,靜態(tài)方法快速獲取表單值到Model的方法。分享給大家供大家參考,具體如下:

這是初級(jí)的,很簡單,牛人可以不看了。不過還算實(shí)用。

在項(xiàng)目中經(jīng)常需要處理表單,給model賦值,很煩人的一些重復(fù)代碼。如下邊的代碼:

News news = new News();
news.Id = int.Parse(Request.Form["Id"]);
news.Category = int.Parse(Request.Form["Category"]);
news.Title = Request.Form["Title"];
news.CreateTime = DateTime.Parse(Request.Form["CreateTime"]);

經(jīng)常還會(huì)出現(xiàn)寫錯(cuò)情況,尤其是加班寫這種無聊代碼的時(shí)候...

使用反射,泛型,靜態(tài)方法可以很容易解決這個(gè)問題。說的好像有點(diǎn)高深,其實(shí)超級(jí)簡單。見代碼。

public static class HenqPostT> where T: new()
{
  /// summary>
  /// 為Model賦值
  /// /summary>
  /// typeparam name="T">Model/typeparam>
  /// param name="t">model/param>
  /// param name="form">Request/param>
  /// returns>/returns>
  public static int GetPostT>(ref T t, NameValueCollection form)
  {
   int va=0;
   Type type = t.GetType();//獲取類型
   PropertyInfo[] pi=type.GetProperties();//獲取屬性集合
   foreach( PropertyInfo p in pi )
   {
    if (form[p.Name] != null)
    {
     try
     {
      p.SetValue(t, Convert.ChangeType(form[p.Name], p.PropertyType), null);//為屬性賦值,并轉(zhuǎn)換鍵值的類型為該屬性的類型
      va++;//記錄賦值成功的屬性數(shù)
     }
     catch
     {
     }
    }
   }
   return va;
  }
}

只所以用靜態(tài)方法,主要是圖方便,不用new。
以后所有的表單都可以很簡單的處理了,兩行代碼搞定。

News news = new News();
HenqPostNews>.GetPost(ref news, Request.Form);
//煩人的為實(shí)體類賦值就Over了。

不需要任何配置,約定是最好的配置。
約定:表單項(xiàng)的名稱最好和實(shí)體類的屬性名字對(duì)應(yīng)(如果你要不一樣,反射方法根據(jù)自己的規(guī)則改造下)。
為表單賦值,如果是webform的話也可以采取這種方式,可以自己寫下,原理差不多。

希望本文所述對(duì)大家asp.net程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • 詳解.NET 4.0中的泛型協(xié)變(covariant)和反變(contravariant)
  • .NET基礎(chǔ)之自定義泛型分析
  • .NET開發(fā)基礎(chǔ):從簡單的例子理解泛型 分享
  • .net泛型通用函數(shù)的特殊問題的解決方法
  • 使用.NET中的Action及Func泛型委托深入剖析
  • .NET CORE動(dòng)態(tài)調(diào)用泛型方法詳解

標(biāo)簽:重慶 麗江 吉林 河南 婁底 汕頭 本溪 宜春

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《asp.net實(shí)現(xiàn)利用反射,泛型,靜態(tài)方法快速獲取表單值到Model的方法》,本文關(guān)鍵詞  asp.net,實(shí)現(xiàn),利用,反射,泛型,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net實(shí)現(xiàn)利用反射,泛型,靜態(tài)方法快速獲取表單值到Model的方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net實(shí)現(xiàn)利用反射,泛型,靜態(tài)方法快速獲取表單值到Model的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 临汾市| 伊宁县| 广德县| 四子王旗| 沂水县| 古交市| 凤台县| 东平县| 荔波县| 麻江县| 诸城市| 阳曲县| 那曲县| 龙泉市| 雷山县| 澄迈县| 临邑县| 馆陶县| 荔浦县| 佛学| 九龙县| 阿合奇县| 榕江县| 宁化县| 镇江市| 应用必备| 淅川县| 安达市| 新津县| 新绛县| 鹿泉市| 怀宁县| 滁州市| 阳山县| 安阳县| 呼伦贝尔市| 福泉市| 孝义市| 左贡县| 河间市| 买车|