ASP.Net中程序構(gòu)架與程序代碼的分離

時(shí)間:2023-05-01 08:20:50 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

ASP.Net中程序構(gòu)架與程序代碼的分離

一年前,當(dāng)本人拿到一個(gè)名叫TWIG的PHP程序時(shí),立即被作者OOP編程思想所折服,很難想像TWIG中所有的功能(行事歷、郵件、個(gè)性化)均在一個(gè)PHP文件(index.php3)中執(zhí)行完成,這就得益于作者采用了程序代碼與頁(yè)面構(gòu)架分離的思想,但是我也看到盡管作者做了很大的努力,但由于PHP的局限性,程序并沒有真正做到代碼與構(gòu)架的分離,index.php3這個(gè)主文件由于要執(zhí)行的功能太多,所以其require的模塊文件相當(dāng)之多,至使整個(gè)文件依然顯得十分零亂,本人愚昧,當(dāng)時(shí)花了半個(gè)月的時(shí)間,才真正明白程序的構(gòu)架,分析代碼之苦,無人能知啊(黯然淚下......)。

TWIG程序?qū)ξ掖撕蟮木幊逃兄艽蟮挠绊,但是即使這樣的作品,依然沒有擺脫程序代碼與HTML代碼混雜的局面。

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

而新技術(shù)ASP.Net則通過Codebehind、用戶控件(User Control)以及自定義控件(Custom Control)等方法真正做到了代碼的分離。這是一個(gè)了不起的進(jìn)步,大家可以在本文中看到分離代碼后的ASP.Net程序的結(jié)構(gòu)是多么的清晰。

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

熟悉ASP.Net的朋友,馬上就會(huì)意識(shí)到頭部由于使用了AdRotator控件,所以必定存在OnAdCreated事件以便在Label控件顯示相應(yīng)鏈接;而中部由于使用Button控件做為提交按鈕,所以必定有一個(gè)onClick事件處理。

1 CodeBehind

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

當(dāng)前廣告鏈接:

登陸窗口

用戶名:

密碼:

用戶名:

權(quán)限:

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

一般在ASP.Net程序中,Page指令都在設(shè)定本程序應(yīng)當(dāng)使用什么語言(使用Language屬性),而本例中沒有出現(xiàn)Language屬性,而是出現(xiàn)了兩

[1] [2] [3] [4] [5] 

【ASP.Net中程序構(gòu)架與程序代碼的分離】相關(guān)文章:

asp.net程序開發(fā)個(gè)人簡(jiǎn)歷范文04-30

項(xiàng)目教學(xué)法與項(xiàng)目化實(shí)訓(xùn)在《ASP.NET程序設(shè)計(jì)》教學(xué)中的應(yīng)用05-02

素質(zhì)教育中教師素質(zhì)的構(gòu)架05-01

構(gòu)件式GIS軟件開發(fā)中的構(gòu)件構(gòu)架技術(shù)04-28

項(xiàng)目案例教學(xué)法在ASP.NET課程中的應(yīng)用05-01

Visual FoxPro構(gòu)架系統(tǒng)在教學(xué)實(shí)踐中的應(yīng)用淺析05-01

柏拉圖認(rèn)識(shí)論中的分離問題04-29

巖石樣品中鉿的無載體分離04-28

案例式教學(xué)在ASP.NET動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)中的應(yīng)用04-30

自然界中難分離培養(yǎng)微生物的分離和應(yīng)用05-02