asp.net利用反射實(shí)現(xiàn)給model類賦值的方法
本文實(shí)例講述了asp.net利用反射實(shí)現(xiàn)給model類賦值的方法。分享給大家供大家參考,具體如下:
/// <summary>
/// 給model類自動(dòng)賦值
/// </summary>
/// <param name="sqlstring">獲取查詢一個(gè)model實(shí)例的sql語句</param>
/// <param name="obj">model實(shí)例對象</param>
/// <returns></returns>
public object selmodel(string sqlstring,object obj)
{
DataTable dtsell = lcommonbll.GetTable(sqlstring);
int count = dtsell.Rows.Count;
if (count == 0)
{
return null;
}
else
{
DataRow dr = dtsell.Rows[0];
#region 另一種方法
//foreach (DataColumn col in dr.Table.Columns)
//{
// PropertyInfo pt = seller.GetType().GetProperty(col.ColumnName);
// if (String.IsNullOrEmpty(dr[col.ColumnName].ToString()))
// {
// break;
// }
// else
// {
// pt.SetValue(seller, dtsell.Rows[0][0], null);
// }
//}
#endregion
foreach (System.Reflection.PropertyInfo pi in obj.GetType().GetProperties())
{
if (pi.CanWrite)
{
try
{
if (dtsell.Rows[0][pi.Name]!=null)
{
pi.SetValue(obj, dtsell.Rows[0][pi.Name], null);
}
else
{
pi.SetValue(obj, null, null);
}
}
catch
{
pi.SetValue(obj, null, null);
}
}
}
return obj;
}
}
.CS調(diào)用
Seller seller = new Seller();//實(shí)體類
bind BIND = new bind();//綁定方法類
seller = (Seller)BIND.selmodel("select * from seller where SID=2", seller);//賦值
更多關(guān)于asp.net相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《asp.net優(yōu)化技巧總結(jié)》、《asp.net字符串操作技巧匯總》、《asp.net操作XML技巧總結(jié)》、《asp.net文件操作技巧匯總》、《asp.net ajax技巧總結(jié)專題》及《asp.net緩存操作技巧總結(jié)》。
希望本文所述對大家asp.net程序設(shè)計(jì)有所幫助。
- Asp.net中使用DapperExtensions和反射來實(shí)現(xiàn)一個(gè)通用搜索
- asp.net反射簡單應(yīng)用實(shí)例
- asp.net實(shí)現(xiàn)利用反射,泛型,靜態(tài)方法快速獲取表單值到Model的方法
- asp.net 反射減少代碼書寫量
- asp.net簡單頁面控件賦值實(shí)現(xiàn)方法
- asp.net水晶報(bào)表參數(shù)字段在代碼中賦值的方法
- ASP.NET服務(wù)器端控件RadioButtonList,DropDownList,CheckBoxList的取值、賦值用法
- asp.net中實(shí)體類對象賦值到表單的實(shí)現(xiàn)代碼
- asp.net 用戶控件讀取以及賦值
相關(guān)文章
ASP.Net MVC_DotNetZip簡單使用方法,解決文件壓縮的問題
下面小編就為大家?guī)硪黄狝SP.Net MVC_DotNetZip簡單使用方法,解決文件壓縮的問題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06
Visual Studio IDE編寫程序時(shí)不顯示窗口或窗口一閃而逝的解決方法
這篇文章主要為大家詳細(xì)介紹了Visual Studio IDE編寫程序時(shí)不顯示窗口或窗口一閃而逝的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-09-09
ASP.Net Core3.0中使用JWT認(rèn)證的實(shí)現(xiàn)
這篇文章主要介紹了ASP.Net Core3.0中使用JWT認(rèn)證的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01
一個(gè)比較通用的分頁控件,完整的設(shè)計(jì)時(shí)支持和比較流行的分頁模式(提供源碼下載)
本分頁控件還包含簡單屬性,復(fù)雜屬性,自定義視圖狀態(tài),分頁事件,創(chuàng)建控件,render控件,Attribute,設(shè)計(jì)時(shí)支持等比較齊全的自定義控件的元素,是個(gè)不錯(cuò)學(xué)習(xí)自定義控件開發(fā)的例子2010-12-12

