天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

一句代碼實現批量數據綁定[下篇]

  《上篇》主要介紹如何通過DataBinder實現批量的數據綁定,以及如何解決常見的數據綁定問題,比如數據的格式化。接下來,我們主要來談談DataBinder的設計,看看它是如何做到將作為數據源實體的屬性值綁定到界面對應的控件上的。此外,需要特別說明一點:《上篇》中提供了DataBinder最初版本的下載,但已經和本篇文章介紹的已經大不一樣了。

  最新版本的主要解決兩個主要問題:通過Expression Tree的方式進行屬性操作(屬性賦值和取值),添加了“數據捕捉”(Data Capture)的功能,以實現將控件中的值賦給指定的實體。但是,這并不意味著這就是一個最終版本,這里面依然有一些問題,比如對空值的處理不不夠全面,比如在進行數據綁定的時候,有的控件類型需要進行HTML Encoding,等等。[源代碼從這里下載]

目錄:
一、通過DataPropertyAttribute特性過濾實體的“數據屬性”
二、Control/DataSource映射的表示:BindingMapping
三、如何建立Control/DataSource映射集合
四、通過映射集合實現數據綁定
五、通過映射集合實現數據捕捉

  一、通過DataPropertyAttribute特性過濾實體的數據屬性

  DataBinder在進行數據綁定的時候,并沒有對作為數據源的對象作任何限制,也就是說任何類型的對象均可作為數據綁定的數據源。控件(這里指TextBox、Label等這樣綁定標量數值的控件)綁定值來源于數據源實體的某個屬性。但是一個類型的屬性可能有很多,我們需要某種篩選機制將我們需要的“數據屬性”提取出來。這里我們是通過在屬性上應用DataPropertyAttribute一個特性來實現的。

  簡單起見,我不曾為DataPropertyAttribute定義任何屬性成員。DataPropertyAttribute中定義了一個靜態的GetDataProperties方法,得到給定實體類型的所有數據屬性的名稱。但是為了避免頻繁地對相同實體類型進行反射,該方法對得到的屬性名稱數組進行了緩存。

[AttributeUsage( AttributeTargets.Property, AllowMultiple = false,Inherited = true)]
public class DataPropertyAttribute: Attribute
{
private static Dictionary<Type, string[]> dataProperties = new Dictionary<Type, string[]>();
public static string[] GetDataProperties(Type entityType)
{
Guard.ArgumentNotNullOrEmpty(entityType,
"entityType");
if (dataProperties.ContainsKey(entityType))
{
return dataProperties[entityType];
}
lock (typeof(DataPropertyAttribute))
{
if (dataProperties.ContainsKey(entityType))
{
return dataProperties[entityType];
}
var properties
= (from property in entityType.GetProperties()
where property.GetCustomAttributes(typeof(DataPropertyAttribute), true).Any()
select property.Name).ToArray();
dataProperties[entityType]
= properties;
return properties;
}
}
}

NET技術一句代碼實現批量數據綁定[下篇],轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 黑人干日本美女 | 久久夜色噜噜噜亚洲AV0000 | 成年免费大片黄在线观看岛国 | 亲胸揉胸膜下刺激视频在线观看 | 国产精品18久久久久久白浆. | 亚洲精品视频免费观看 | 在线中文高清资源免费观看 | 国产伦精品一区二区三区精品 | 姉调无修版ova国语版 | 秋霞伦理机在线看片 | 国产精品日本不卡一区二区 | 高清mv视频免费观看 | 伊人影院综合网 | adc高清在线观看 | 二级毛片免费观看全程 | 免费三级现频在线观看 | 樱桃熟了A级毛片 | 色多多污污版免费下载安装 | 国产成人a视频在线观看 | 精品久久久久中文字幕日本 | 4虎最新网址 | 黄色天堂网 | 亚洲乱码高清午夜理论电影 | 4438全国免费观看 | 午夜婷婷精品午夜无码A片影院 | 久久re热在线视频精6 | 国产欧美一区二区三区久久 | 99热这里只有的精品 | 最新国产精品福利2020 | 久久兔费黄A级毛片高清 | aa级毛片毛片免费观看久 | 国产免费69成人精品视频 | 精品一区二区三区AV天堂 | 午夜4k最新福利 | 2022一本久道久久综合狂躁 | 日韩精品亚洲专区在线影院 | 秋霞最新高清无码鲁丝片 | 最近的中文字幕2019国语 | 午夜福利免费体检区 | 纯h超级大尺度小黄文 | 国产亚洲精品第一区香蕉 |