本發(fā)明涉及asp.netwebforms開發(fā)領(lǐng)域,尤其涉及頁面控件與實(shí)體綁定、向?qū)嶓w賦值及頁面控件賦值的方法。
背景技術(shù):
在asp.netwebforms項(xiàng)目開發(fā)過程中,新增、修改數(shù)據(jù),是經(jīng)常要開發(fā)的。添加數(shù)據(jù)的過程是:獲取頁面控件的值,然后賦值到實(shí)體,再把實(shí)體值保存到數(shù)據(jù)庫;編輯數(shù)據(jù)的過程是:從數(shù)據(jù)庫讀取數(shù)據(jù),再把實(shí)體屬性值賦值到頁面控件。而實(shí)際過程中,一個(gè)表往往有幾十上百個(gè)字段,甚至更多,如果仍然采用上述賦值、取值的方式,過程將非常繁瑣;出錯(cuò)概率極大、人工成本很高,開發(fā)效率卻很低;而且會(huì)造成代碼冗余、可維護(hù)性差。
鑒于上述技術(shù)缺陷,本發(fā)明創(chuàng)造者經(jīng)過長時(shí)間的研究和實(shí)踐終于獲得了本創(chuàng)作。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供頁面控件與實(shí)體綁定、向?qū)嶓w賦值及頁面控件賦值的方法,以解決現(xiàn)有技術(shù)中過程繁瑣、出錯(cuò)概率大、人工成本高、開發(fā)效率低、代碼冗余、可維護(hù)性差的問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案是提供一種頁面控件向?qū)嶓w賦值的方法,包括如下步驟:
頁面控件自定義一個(gè)屬性binding;
所述屬性binding的值設(shè)置為需要綁定的實(shí)體屬性;
后臺(tái)自動(dòng)實(shí)例化需要綁定的所述實(shí)體;
檢索包含所述屬性binding的頁面控件;
判斷所述頁面控件類型,根據(jù)不同的所述頁面控件,獲取所述頁面控件值的方式做特殊處理;
根據(jù)所述實(shí)體屬性的類型,做相應(yīng)的值轉(zhuǎn)換,并通過反射將所述頁面控件的值賦值給所述實(shí)體。
進(jìn)一步地,所述特殊處理過程為,將所述頁面控件的值轉(zhuǎn)換為所述實(shí)體屬性對應(yīng)的數(shù)據(jù)類型。
進(jìn)一步地,所述實(shí)體內(nèi)包含子實(shí)體的時(shí)候,所設(shè)頁面控件的屬性
binding的值設(shè)置為需要綁定的實(shí)體屬性時(shí)包含子實(shí)體屬性。
本發(fā)明還提供一種向頁面控件賦值的方法,包括如下步驟:
頁面控件自定義一個(gè)屬性binding;
所述屬性binding的值的設(shè)置為需要綁定的實(shí)體屬性;
從數(shù)據(jù)庫讀取需要展示的數(shù)據(jù);
通過所述實(shí)體屬性,檢索到對應(yīng)所述屬性binding的頁面控件;
根據(jù)不同的所述頁面控件及不同的所述實(shí)體屬性數(shù)據(jù)類型,做相應(yīng)的實(shí)體屬性值值轉(zhuǎn)換,通過反射將處理后的所述實(shí)體屬性值賦值給對應(yīng)的頁面控件。
進(jìn)一步地,所述實(shí)體內(nèi)包含子實(shí)體,所述屬性binding的值設(shè)置為需要綁定的實(shí)體屬性時(shí)包含子實(shí)體屬性。
進(jìn)一步地,所述頁面控件的形式為文本框、單選、多選或下拉框。
本發(fā)明還提供一種頁面控件與實(shí)體綁定方法,包括如下步驟:
頁面控件自定義一個(gè)屬性binding;
所述屬性binding的值設(shè)置為需要綁定的實(shí)體屬性;
添加數(shù)據(jù)過程:獲取所述頁面控件的值,并賦值給所述實(shí)體;后臺(tái)自動(dòng)實(shí)例化對象實(shí)體;檢索包含所述屬性binding的頁面控件;判斷所述頁面控件類型,根據(jù)不同的所述頁面控件,獲取頁面控件的值的方式做特殊處理;最后根據(jù)實(shí)體屬性的類型,做相應(yīng)的值轉(zhuǎn)換,并通過反射將所述頁面控件的值賦值給所述實(shí)體;
編輯數(shù)據(jù)過程:獲取數(shù)據(jù),并賦值給所述頁面控件;從數(shù)據(jù)讀取需要展示的數(shù)據(jù);通過所述實(shí)體屬性,檢索到對應(yīng)所述屬性binding的頁面控件;根據(jù)不同的所述頁面控件及不同的所述實(shí)體屬性數(shù)據(jù)類型,做相應(yīng)實(shí)體屬性值轉(zhuǎn)換,通過反射將處理后的所述實(shí)體屬性值賦值給對應(yīng)的所述頁面控件。
進(jìn)一步地,所述特殊處理過程為,頁面控件的值轉(zhuǎn)換為所述實(shí)體屬性對應(yīng)的數(shù)據(jù)類型。
進(jìn)一步地,所設(shè)頁面控件的形式為文本框、單選、多選或下拉框。
進(jìn)一步地,所述實(shí)體內(nèi)包含子實(shí)體,所述屬性binding的值設(shè)置為需要綁定的實(shí)體屬性時(shí)包含子實(shí)體屬性。
與現(xiàn)有技術(shù)相比本發(fā)明的有益效果在于,本發(fā)明通過自定義頁面控件屬性binding,實(shí)現(xiàn)實(shí)體屬性與具體的頁面控件綁定;實(shí)體中可以包含其它實(shí)體,如實(shí)體a中可以有一個(gè)實(shí)體b;實(shí)體b中的屬性,也可以跟頁面控件綁定。
不管實(shí)體有幾十個(gè)、還是幾百個(gè)字段,都不再需要人工編寫大量的代碼去取值、賦值。
通過本發(fā)明方法,可以縮短開發(fā)時(shí)間,降低人工成本,讓開發(fā)人員專注業(yè)務(wù)邏輯的處理,提高開發(fā)效率;且代碼簡潔,可維護(hù)性強(qiáng)。
附圖說明
圖1為本發(fā)明的實(shí)體賦值及頁面控件賦值的方法的流程示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。
請參閱圖1所示,其為本發(fā)明的頁面控件與實(shí)體綁定、向?qū)嶓w賦值及頁面控件賦值的方法的流程示意圖,本實(shí)施例為asp.netwebforms開發(fā)平臺(tái),binding為定義的一個(gè)綁定,該綁定對綁定目標(biāo)屬性和數(shù)據(jù)源進(jìn)行連接,包括下述步驟:
步驟1,aspx頁面控件向?qū)嶓w賦值的方法,包括如下步驟:
步驟01,aspx頁面控件自定義一個(gè)屬性binding;
步驟02,所述屬性binding的值的設(shè)置為需要綁定的實(shí)體屬性;
步驟03,cs后臺(tái)自動(dòng)實(shí)例化需要綁定的實(shí)體;
步驟04,cs后臺(tái)檢索包含所述屬性binding的頁面控件;
步驟05,cs后臺(tái)判斷頁面控件類型,根據(jù)不同的所述頁面控件,獲取所述頁面控件值的方式做特殊處理;
步驟06,根據(jù)實(shí)體屬性的類型,做相應(yīng)的值轉(zhuǎn)換,并通過反射將所述頁面控件的值賦值給所述實(shí)體。
具體地,步驟1所述的aspx頁面控件向?qū)嶓w賦值的方法,步驟05所述特殊處理過程為,將所述頁面控件的值轉(zhuǎn)換為所述實(shí)體屬性對應(yīng)的數(shù)據(jù)類型。
具體地,步驟1所述的aspx頁面控件向?qū)嶓w賦值的方法,步驟06所述實(shí)體內(nèi)包含子實(shí)體,所述頁面控件的屬性binding的值設(shè)置為需要綁定的所述實(shí)體屬性時(shí)包含子實(shí)體屬性。
步驟2,向aspx頁面控件賦值的方法,包括如下步驟:
步驟s1,aspx頁面控件自定義一個(gè)屬性binding;
步驟s2,所述屬性binding的值設(shè)置為需要綁定的實(shí)體屬性;
步驟s3,從數(shù)據(jù)庫讀取需要展示的數(shù)據(jù);
步驟s4,cs后臺(tái)獲取數(shù)據(jù)后,通過實(shí)體屬性,檢索到對應(yīng)所述屬性binding的頁面控件;
步驟s5,cs后臺(tái)根據(jù)不同的所述頁面控件及不同的所述實(shí)體屬性數(shù)據(jù)類型,做相應(yīng)的實(shí)體屬性值轉(zhuǎn)換,通過反射將處理后的所述實(shí)體屬性值賦值給對應(yīng)的所述頁面控件。
具體地,步驟2所述的aspx頁面控件賦值的方法,步驟s5所述實(shí)體內(nèi)包含子實(shí)體,所述屬性binding的值設(shè)置為需要綁定的所述實(shí)體屬性時(shí)包含子實(shí)體屬性。
具體地,步驟2所述的aspx頁面控件賦值的方法,步驟s5所述頁面控件的形式為文本框、單選、多選或下拉框。
步驟3,aspx頁面控件與實(shí)體綁定方法,包括如下步驟:
步驟c01,aspx頁面控件自定義一個(gè)屬性binding;
步驟c02,所述屬性binding的值設(shè)置為需要綁定的實(shí)體屬性;
步驟c03,添加數(shù)據(jù)過程:獲取aspx頁面控件的值,并賦值給所述實(shí)體:cs后臺(tái)自動(dòng)實(shí)例化對象實(shí)體;檢索包含所述屬性binding的頁面控件;判斷所述頁面控件類型,根據(jù)不同的所述頁面控件,獲取所述頁面控件的值的方式做特殊處理;最后根據(jù)所述實(shí)體屬性的類型,做相應(yīng)的值轉(zhuǎn)換,并通過反射將所述頁面控件的值賦值給所述實(shí)體;
步驟c04,編輯數(shù)據(jù)過程:獲取數(shù)據(jù),并賦值給aspx頁面控件:從數(shù)據(jù)讀取需要展示的數(shù)據(jù);通過所述實(shí)體屬性,檢索到對應(yīng)所述屬性binding的頁面控件;根據(jù)不同的所述頁面控件及不同的所述實(shí)體屬性數(shù)據(jù)類型,做相應(yīng)的實(shí)體屬性值轉(zhuǎn)換,通過反射將處理后的所述實(shí)體屬性值賦值給對應(yīng)的所述頁面控件。
步驟3所述的aspx頁面控件與實(shí)體綁定方法,步驟c03所述特殊處理過程為,將所述頁面控件的值轉(zhuǎn)換為所述實(shí)體屬性對應(yīng)的數(shù)據(jù)類型。
步驟3所述的aspx頁面控件與實(shí)體綁定方法,步驟c03和步驟c04所述頁面控件的形式為文本框、單選、多選或下拉框。
步驟3所述的aspx頁面控件與實(shí)體綁定方法,步驟c03所述實(shí)體內(nèi)包含子實(shí)體,所述屬性binding的值設(shè)置為需要綁定的所述實(shí)體屬性時(shí)包含子實(shí)體屬性。
至此,已經(jīng)結(jié)合附圖所示的優(yōu)選實(shí)施方式描述了本發(fā)明的技術(shù)方案,但是,本領(lǐng)域技術(shù)人員容易理解的是,本發(fā)明的保護(hù)范圍顯然不局限于這些具體實(shí)施方式。在不偏離本發(fā)明的原理的前提下,本領(lǐng)域技術(shù)人員可以對相關(guān)技術(shù)特征作出等同的更改或替換,這些更改或替換之后的技術(shù)方案都將落入本發(fā)明的保護(hù)范圍之內(nèi)。