久久这里只有精品国产99-久久这里只有精品2-久久这里只有精品1-久久这里只精品热在线99-在线少女漫画-在线涩涩免费观看国产精品

ASP.Net程序構架與程序代碼分離學術期刊網(wǎng)

來源:期刊VIP網(wǎng)所屬分類:結業(yè)論文時間:瀏覽:

  摘要:ASP.NET是.NET FrameWork的一部分,是一項微軟公司的技術,是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務器執(zhí)行的服務器端腳本技術,它可以在通過HTTP請求文檔時再在Web服務器上動態(tài)創(chuàng)建它們。文章發(fā)表在《中國信息技術教育雜志》上,是畢業(yè)研究生論文范文,供同行參考。

  關鍵詞:ASP.Net,程序構架,程序代碼,代碼分離

  ASP .NET的前身ASP技術,是在IIS2.0上首次推出(Windows NT 3.51),當時與 ADO 1.0 一起推出,在IIS 3.0 (Windows NT 4.0)發(fā)揚光大,成為服務器端應用程序的熱門開發(fā)工具,微軟還特別為它量身打造了VisualInter Dev開發(fā)工具,在1994年到2000年之間,ASP技術已經(jīng)成為微軟推展Windows NT 4.0平臺的關鍵技術之一,數(shù)以萬計的ASP網(wǎng)站也是這個時候開始如雨后春筍般的出現(xiàn)在網(wǎng)絡上。

  一年前,當本人拿到一個名叫TWIG的PHP程序時,立即被作者OOP編程思想所折服,很難想像TWIG中所有的功能(行事歷、郵件、個性化)均在一個PHP文件(index.php3)中執(zhí)行完成,這就得益于作者采用了程序代碼與頁面構架分離的思想,但是我也看到盡管作者做了很大的努力,但由于PHP的局限性,程序并沒有真正做到代碼與構架的分離。

  index.php3這個主文件由于要執(zhí)行的功能太多,所以其require的模塊文件相當之多,至使整個文件依然顯得十分零亂,本人愚昧,當時花了半個月的時間,才真正明白程序的構架,分析代碼之苦,無人能知啊(黯然淚下......)。

  TWIG程序對我此后的編程有著很大的影響,但是即使這樣的作品,依然沒有擺脫程序代碼與HTML代碼混雜的局面。

  程序代碼與頁面構架的分離是WEB程序員多年的夢想。在A.Net出現(xiàn)之前,無論是A、PHP還是J,程序代碼與HTML代碼都是混雜在一起的,這種做法,雖然在WEB技術初期受到贊揚,但是隨著時間的的推移,它的弊端是越來越明顯,當程序代碼很長時,HTML代碼與其混雜,程序的可讀性變得很差,讓人無法分清程序真正要表示的頁面構架。

  而新技術A.Net則通過Codebehind、用戶控件(UserControl)以及自定義控件(CustomControl)等方法真正做到了代碼的分離。這是一個了不起的進步,大家可以在本文中看到分離代碼后的A.Net程序的結構是多么的清晰。

  為了便于理解,這里設計的頁面比較簡單,頁面分為三個主要的部分,頭部包含一個AdRotator控件(用于顯示廣告)與一個Label控件(用于顯示當前廣告鏈接地址);中部是一個登陸頁面,包括兩個TextBox控件(分別用于輸入用戶名與密碼)、一個Label控件(顯示登陸是否成功)與一個Button控件(作為提交按鈕);底部包含兩個Label控件(分別顯示當前用戶名與用戶權限)。

  熟悉A.Net的朋友,馬上就會意識到頭部由于使用了AdRotator控件,所以必定存在OnAdCreated事件以便在Label控件顯示相應鏈接;而中部由于使用Button控件做為提交按鈕,所以必定有一個OnClick事件處理。

  1CodeBehind

  首先我們就看看如何使用CodeBehind方法來實現(xiàn)代碼與頁面構架的分離,下面給出的源程序是主A.Net程序--Example1.ax:

  當前廣告鏈接:

  用戶名:

  密碼:

  用戶名:

  權限:

  例程中,大家可以清楚地看到程序中不包含任何C#、VB、javascript來處理OnAdCreated與OnClick事件,但是執(zhí)行本程序,程序能夠正常使用(如圖2-1與圖2-2)。這便是使用CodeBehinde的結果,事件處理已經(jīng)被轉移到其它程序中定義執(zhí)行。請大家注意本例中第一行的信息:

  一般在A.Net程序中,Page指令都在設定本程序應當使用什么語言(使用Language屬性),而本例中沒有出現(xiàn)Language屬性,而是出現(xiàn)了兩個新的Page屬性:Src與Inherits。Src屬性設定事件處理真正的代碼位置,Inherits屬性則設定需要引入的類名。可以看到本例中定義事件處理的文件是EventHandle.cs,我們來看看它的具體內容:usingystem;

  usingystem.Data;

  usingystem.Data.SqlClient;

  usingystem.We

  usingystem.Web.UI;

  usingystem.Web.UI.WebControl

  usingystem.Web.UI.HtmlControl

  進行事件處理是定義在一個類中的(本例中是Acn,注意大小寫),由于需要與WeForms相關聯(lián),所以此類還必須繼承Page類。

  分析程序,大家可以看到程序中對事件的處理操作是與普通的未進行代碼分離的程序是一樣的,并沒有什么特別的地方。(本人在程序中已經(jīng)給出的相關注釋,相信對大家理解程序有所幫助)

  使用CodeBehind技術后,大家需要多寫一些代碼,比如聲明控件等,也許大家很不喜歡多寫這樣的代碼,但是大家也必須看到使用了CodeBehind技術后,主程序的可讀性大大增加了。在Example1.ax中相信大家很快就可以區(qū)分頁面構架的各個部分,大家想想這些構架如果在其它技術是否能看得如此清楚?

  (這里的程序只做演示用,呵呵,大家可不要抓我什么引號漏洞這些小辮子喲)

  2用戶控件(UserControl)

  CodeBehind技術真正實現(xiàn)了代碼與構架的分離,比以前的技術前進了一大步,但是它的缺陷也是顯而易見的,比如主頁面中部那個登陸區(qū),如果內容很多,HTML顯示代碼的依然會占用很大的區(qū)域,程序的可讀性依然會降低。

  A.Net也提供了解決辦法,這就是用戶控件。

  用戶控件我們可以將其視為不用編譯的Server控件。即然是控件,那么就肯定會遵從控件的使用方法。我們將Example1.ax中的每個Panel整體看成為一個控件,因此Example1.ax的主體部分通過使用用戶控件便可以減少為只有三行:

  執(zhí)行這個程序,其運行結果與使用CodeBehind技術的結果是一樣的,但是現(xiàn)在的A.Net程序更加容易區(qū)分頁面構架了。

  nameace表示定義的命名空間,cla則是相應的類名,具體的使用例子有:

  privatevoidAdCreated(Objectrc,AdCreatedEventArge)

  {

  lblAdText.Text=e.AlternateText;

  }

  當前廣告鏈接:

  SqlCoectioMyCo=ewqlCoection(strCotring);

  MyCo.Open();

  stringtrUserName,strPaword,strSelect;

  //登陸不成功

  用戶名:

  權限:" "當前廣告鏈接為:"));

  //加入Label控件

  lblAdText=ewLabel();

  //添加HTML標簽

  this.Controls.Add(newLiteralControl("//添加MsgShowLabel控件文秘114版權所有

  lblMsgShow=ewLabel()

  //登陸不成功

  上面和程序是將需要實現(xiàn)的功能,全部導入了自定義控件。程序中可以看到,在acn命名空間中包含三個類(Header,Logon,Footer),這三個類正是構架三個主體部分。

  要使用自定義控件,還必須將原代碼進行編譯。

  csc/t:library/out:acn.dll/r:System.Data.dll,System.Web.dll,System.Drawing.dllCustomControls.cs

  C#程序編譯指令的用法,本人在此也不再重復。需要注意的是編譯的文件名,必須與控件中nameace的名字一致。

  編譯后的dll,仍然不能使用,我們必須將其放到.Net平臺中最著名的目錄--/bin中,bin目錄(如果不存在,可以自行建立)存放的是當前虛擬目錄中所有使用自定義控件以及組件,CLR在執(zhí)行A.Net程序時會自動搜索此目錄中的文件,以找到與A.Net程序相匹配的Nameace、Cla以及Aembly。

  當我們將程序編譯好的acn.dll放入/bin目錄后,這個自己編寫的Server控件便可以使用了。

  (需要聲明一下,由于編寫Server控件時不能使用Seion等變量,以至無法做到兩個cla之間的通信,因此在缺省狀態(tài)下Footer控件并不能像前面的程序一樣隨Seion內容發(fā)生改變,不過可以通過普通操作Server控件的方法來操作相應的屬性達到相同的效果,此處為節(jié)約版面,未采用)

  下面再來看看主體WeForm的程序內容:

  怎么樣,相當簡單明了吧。

  引用我們自定義的控件,也相當簡潔,只需將Register指令的TagPrefix、Nameace、Aembly屬性全部設定為acn。

  至此,A.Net中三種代碼與頁面構架分離的方法已經(jīng)介紹完畢。

  三種方法各有優(yōu)劣,本人比較傾向于使用用戶控件與CodeBinde技術結合使用,因為他們均不需要編譯,相對來說更容易使用,如果您要保護你的代碼,自定義控件則當然是您最佳的選擇。

  畢業(yè)論文學術期刊網(wǎng)雜志推薦:《中國信息技術教育雜志》創(chuàng)刊于2000年,《中國信息技術教育》雜志是國家新聞出版總署批準的海內外公開發(fā)行的國家級刊物。是中華人民共和國教育部主管、中央電化教育館主辦的一份大型教育科研期刊,國內外公開發(fā)行。本刊為半月刊,主編:李維福。國內統(tǒng)一刊號:CN11-5678/TP,國際刊號:ISSN1674-2117。

青青国产揄拍视频| 欧美成人精品在线| 老乞丐没完没了73节| 兰姨不敢发出一点声音怕吵醒风| 免费A级毛片无码无遮挡| 欧美人与性囗牲恔配| 色婷婷成人综合激情免费视频| 无码欧精品亚洲日韩一区| 亚洲AV永久无码精品无码四虎| 亚洲日韩中文第一精品| 337P粉嫩大胆噜噜噜| 把腿张开老子CAO烂你动态图| 国产97色在线 | 免| 含紧一点H边做边走动| 久久无码精品一区二区三区| 欧美成人精品三级又大又粗| 色天使亚洲综合一区二区| 亚洲AV乱码久久精品密桃| 亚洲色18禁成人网站WWW永久| 9612黄桃网站进入页面直播| 出租屋勾搭老熟妇啪啪| 国精产品一区一区三区有限公司| 久久人人97超碰精品| 人妻丰满熟妇AV无码区动漫| 无人区码一码二码三码是什么意思 | 少妇太爽丰满一区二区| 亚洲 都市 校园 激情 另类| 永久免费不卡在线观看黄网站| 凹凸在线无码免费视频| 国产麻豆成人传媒免费观看| 久久人人爽天天玩人人妻精品| 人妻有码中文字幕在线| 亚洲 日韩 欧美 成人 在线| 中文字幕无码专区人妻制服| 丰满人妻无码AⅤ一区二区| 精品国产一区二区三区AV片| 欧美人妻AⅤ中文字幕| 无码熟妇ΑⅤ人妻又粗又大| 一本加勒比HEZYO无码人妻 | 伊人久久精品久久亚洲一区| 成人亚洲欧美在线观看| 精品国产AⅤ一区二区三区| 欧式春画图片大全欣赏简单| 亚洲AV无码乱码在线观看富二代| 51精品国产人成在线观看| 国产精品宾馆在线精品酒店| 邻居少妇人妻HD高清大乳在线| 少妇BBW搡BBBB搡| 一二三四免费观看在线中文版| 俄罗斯妈妈 电影| 久久久久久久精品国产亚洲87| 日本熟妇毛茸茸XXXX| 亚洲欧洲AV综合色无码| 东北大坑续集1至60| 久久久久久人妻无码| 少妇高潮惨叫久久久久电影69| 一本久道久久综合狠狠老| 国产AV旡码专区亚洲AV苍井空| 久久五月丁香合缴情网| 婷婷色婷婷开心五月| 2018最新国产好看的国产| 国产乱子伦农村XXXX| 欧美啪啪抽搐一进一出免费| 亚洲国产AV一区二区三区| 帮妺妺洗澡忍不住C了她作文| 精品色欲少妇一区二区三区 | 亚洲国产成人五月综合网| 波多野结衣片全部电影| 久久久综合九色综合鬼色| 无码 一区二区三区 水蜜桃| 99久久亚洲精品无码毛片 | 亚洲无人区码一二三四区别| 成人精品视频一区二区三区尤物| 久久久久久精品免费免费WER| 我和闺蜜在KTV被八人伦| BGMBGMBGM欧美XX| 久久精品成人无码观看免费 | 野花高清完整版免费观看视频电视 | 国产真实乱对白精彩久久| 日韩精品卡2卡3卡4卡5| 中文字幕久无码免费久久| 好男人在线观看无遮挡版| 少妇极品熟妇人妻200片| 18禁黄网站禁片免费观看在线| 狠狠躁夜夜躁人人爽天天| 少妇粉嫩小泬喷水视频| A级毛片免费网站| 久久水蜜桃亚洲AV无码精品 | 日韩不卡手机视频在线观看| 中文字幕一区二区人妻| 精品熟女少妇AⅤ免费久久| 无码精品人妻一区二区三区在线 | 人禽杂交18禁网站免费| 中文弹幕日产无线码一区| 精品久久久噜噜噜久久久| 无码日韩精品一区二区三区免费| 成人午夜视频一区二区无码| 欧美成AⅤ人高清免费| 一本大道香蕉在线精品| 皇上捏住宫女的巨峰| 无码人妻一区二区三区免费 | 国产私人尤物无码不卡| 久久久久亚洲AV无码专| 亚洲卡1卡2乱码新区仙踪| C交人Z000Z000XXⅩ| 麻豆国产精品VA在线观看不卡| 亚洲精品国产一二三无码AV| 国产亚洲精品拍拍拍拍拍| 少妇99久久黑人| 大量潮喷潮喷极限高H| 人妻仑乱A级毛片免费看| ASSFREE疯狂老妇熟女| 免费看视频高清在线观看| 亚洲一区二区三区小说| 精品久久久久久无码专区 | 国语自产偷拍精品视频偷| 午夜A级理论片在线播放717| 国产AV午夜精品一区二区三区| 日本国产网曝视频在线观看| 啊灬啊灬啊灬快灬高潮了| 欧美一区二区三区精品视频| 99久久免费精品高清特色大片| 女女互磨互喷水高潮LES呻吟| 中文字幕无码免费久久| 蜜臀AV无码一区二区三区小说| 真人作爱视频免费网站| 麻豆av一区二区三区久久| 日本少妇自慰免费完整版| 中文无码乱人伦中文视频在线V| 国产精品宅男擼66M3U8| 久久久久99精品成人品| 亚洲熟妇AV一区二区三区| 九九99久久精品国产| 亚洲午夜国产精品无码| 久久久久无码精品国产AV蜜桃| 亚洲孕妇精品无码av| 久久婷婷五月综合97色一本一本| 影音先锋亚洲AV少妇熟女| .精品久久久麻豆国产精品| 丰满又黄又爽少妇毛片| 特级AAAAAAAAA毛片免费| FREEZEFRAME丰满老妇| 欧亚一二精品在免费看| 波多野结衣av无码久久一区| 日韩人妻无码精品无码中文字幕 | 亚洲午夜国产精品无码| 国产成人AV三级在线观看| 欧美成人精品在线观看| 在公交车上弄到高C了怎么办 | 99久久99久久精品国产片| 欧洲美女粗暴牲交免费观看| 成人Av在线播放| 为什么放进去女的就老实了| 国产午夜成人无码免费| 亚洲乱妇熟女爽到高潮| 老师你的好软水好多的时候图片| 999精品国产人妻无码系列| 日本乱人伦AⅤ精品| 国产精品V片在线观看不卡| 性生交大片免费看淑女出招| 狠狠精品久久久无码中文字幕 | 亚洲AV永久无码精品三区在线4| 精品日产一卡2卡三卡4卡自拍| 中国老熟女XXXⅩ全部| 人妻少妇精品视频aaa| 国产CHINESEHDXXXX宾馆TUBE | XXX少妇厨房XXX乱| 四虎永久在线精品免费网址| 含苞待放1ⅤLH周莹莹| 伊人久久大香线蕉AV网禁呦| 欧美性受XXXX人人本视频| 国产Chinese男男GayGay网站| 亚洲AV无码专区国产乱码在线观 | 国产三级精品三级在线观看| 亚洲爽爆东京爽爆东京爽爆av| 女人张开腿让男人桶爽的| 粉嫩性色一区二区三区AV| 亚洲AV永久无码精品秋霞电影影 | 小东西才几天没做喷的到处都是| 久久精品国产导航| AV一本久道久久波多野结衣| 思思RE热免费精品视频66| 精品亚洲AⅤ无码一区二区三区| 97精品人妻系列无码人妻| 少妇大叫太大太爽受不了| 极品妇女扒开粉嫩小泬| 99精品国产兔费观看久久| 无码AⅤ最新AV无码专区| 久久精品无码一区二区小草| 扒开两腿中间缝流白浆在线看| 亚洲 日韩 激情 无码 中出| 免费体验120秒视频| 国产成人亚洲精品无码最新| 亚洲中文欧美在线视频| 日本人真人姓交大视频| 极品AV麻豆国产在线观看| MM131巨爆乳美女少妇动态图| 亚洲AV福利天堂一区二区三| 欧美成人精品一区二区三区色欲| 国产人久久人人人人爽|