国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

ASP.NET開發(fā),簡化與封裝

2019-11-17 01:39:35
字體:
供稿:網(wǎng)友

asp.net開發(fā),簡化與封裝

微軟的ASP.NET的開發(fā),就是面向?qū)ο蟮木幊蹋?dāng)然前端也能體驗(yàn)至面向?qū)ο蟮脑挘褂肳eb控件也必須的。任一控件,我們均可以在后端.aspx.cs或.aspx.vb程序中new一個(gè)對象出來。很多場合里,在開發(fā)ASP.NET開發(fā)中,后端與前端交互,我們使用控件確實(shí)能方便與快捷互通。本篇所涉及的內(nèi)容以html markup標(biāo)簽與javascript(或jQuery)無關(guān),因?yàn)檠菔镜氖荳eb控件應(yīng)用。Insus.NET經(jīng)常會(huì)針對開發(fā)的應(yīng)用程序,寫一些常用或是特定的對象或是控件。在一起開發(fā)的團(tuán)隊(duì)的能句方便用使用,能得到客戶需求的功能與效果。開發(fā)這些對象或是控件,也并非一開始就能寫得出來,均是經(jīng)過一系列編程之后,再次review或是優(yōu)化的結(jié)果。舉個(gè)例子來說明,先在SQL Server數(shù)據(jù)庫中,創(chuàng)建一個(gè)數(shù)據(jù)表,如[dbo].[UserInfo]:對這個(gè)表,添加幾筆記錄:寫一個(gè)存儲(chǔ)過程,是獲取剛才添加的所有記錄:

OK,數(shù)據(jù)庫層已經(jīng)設(shè)計(jì)好了,我們?nèi)SP.NET網(wǎng)站寫程序,需要把這些數(shù)據(jù)呈現(xiàn)于網(wǎng)頁上。邏輯層就使用《ASP.NET開發(fā),從二層至三層,至面向?qū)ο?(3)》 http://www.survivalescaperooms.com/insus/p/3826706.html將來的的博文演示中也會(huì)使用它。在App_Code目錄下,創(chuàng)建一個(gè)以數(shù)據(jù)表名相同的一個(gè)類(對象):

新建一個(gè)網(wǎng)頁.aspx,用它來呈現(xiàn)數(shù)據(jù)表的數(shù)據(jù),直接拉數(shù)據(jù)控件GridView:在.aspx.cs代碼中,實(shí)現(xiàn)給GridView控件綁定數(shù)據(jù):

瀏覽一下:

以上的實(shí)現(xiàn),相信很多學(xué)習(xí)與開發(fā)asp.net的人都會(huì),太簡單了,根本不值得一說一提一寫。

問題來了,最后一列[Sex],性別具體1代碼是男還是女,反之亦如此。能否以更友好清晰的表達(dá)來表現(xiàn)?下面列幾種網(wǎng)友用常的方法:第一種方法,寫一個(gè)小函數(shù)去替換:

寫好函數(shù)之后,在.aspx的Gridview控件,需要修改,不能使用自動(dòng)產(chǎn)生列了:

預(yù)覽結(jié)果:

第二種方法,較為復(fù)雜一些,不過也較常使用的,在.aspx分三步來修改GridView:

下面是實(shí)現(xiàn)OnRowDataBound="GridView1_RowDataBound":此種方法預(yù)覽結(jié)果跟第一種方法是一樣的。

第三種方法,是Insus.NET使用的方法。出現(xiàn)這樣的問題,多數(shù)是多表關(guān)聯(lián),一張表某些字段是另一個(gè)表的外鍵值。呈現(xiàn)時(shí),均是鍵值或是代號(hào)。但實(shí)際是需要顯示實(shí)際意義的字段。

解決它,可以創(chuàng)建一個(gè)表,是key與value對應(yīng)的表:然后修改一下[dbo].[usp_UserInfo_GetAll]存儲(chǔ)過程:

在asp.net程序中,在后端無需修心任代碼。

在.aspx頁中的GridView中,僅引用另一個(gè)字段名:

三種方法,均演示完成了。哪一種方法,你覺得好,就使參考哪一種。下面有新的要求,客戶要求,將顯示的0或1的信息,使用一張圖片來替代。這要求不難,用文字“男”或“女”還是用圖片去替代0或1的方法,均是一樣的。用Image去實(shí)現(xiàn)就是了。下面Insus.NET來演示一番:實(shí)現(xiàn)之前,得先準(zhǔn)備好兩張圖片,放于站點(diǎn)某一目錄之下。

上面有三個(gè)步驟標(biāo)記1至標(biāo)記3。

編寫一個(gè)私有函數(shù):

然后就可以寫OnRowDataBound="GridView1_RowDataBound"事件了:

改好了,瀏覽看看效果:

上面圖片替換方法,是通用大家所使用的方法。不過Insus.NET的方法,卻不是這樣來做。Insus.NET需要封裝GetSexImagePath(string num)或是GetSex(string num)函數(shù)另外,由這地方的呈現(xiàn)在一個(gè)網(wǎng)站中,也許不止一次(網(wǎng)頁)呈現(xiàn),在管理員后臺(tái),會(huì)員后臺(tái),前端面向所有用戶呈現(xiàn)的網(wǎng)頁均要此樣式呈現(xiàn)。

因此,可以寫成一個(gè)控件即可,先在App_Code創(chuàng)建一個(gè)類別SexImg:

有三個(gè)public的PRoperty以及override方法RenderContents()。重要的一點(diǎn),是繼承了WebControl類。接著,我們打開web.config文件,注冊一下上面我們創(chuàng)建好的控件:

現(xiàn)在的問題是怎樣使用這個(gè)控件呢?跟Web控件一樣,沒有什么分別:

在GridView控件內(nèi),使用剛才寫好的控件,直接指寫三個(gè)property。

在.aspx.cs內(nèi),無需寫什么代碼:

瀏覽的效果,跟上面的一樣:

最后一個(gè)演示,學(xué)會(huì)了封裝與創(chuàng)建自己定義控件。Insus.NET雖然只是依性別來舉列,實(shí)現(xiàn)開發(fā)時(shí),可會(huì)遇上很多類別,目錄等相關(guān)的。方法掌握了,相似的功能可以輕易實(shí)現(xiàn)。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 淅川县| 武川县| 宜君县| 东至县| 囊谦县| 云浮市| 林甸县| 崇文区| 扬中市| 祁阳县| 昭平县| 襄樊市| 洪江市| 潞城市| 如东县| 大石桥市| 灯塔市| 富裕县| 大名县| 合作市| 泸水县| 图们市| 任丘市| 广汉市| 孝感市| 房产| 乌海市| 任丘市| 灵武市| 登封市| 西华县| 沙洋县| 新闻| 简阳市| 淮安市| 平潭县| 绥江县| 宣恩县| 宣恩县| 新蔡县| 万荣县|