asp.net 代碼隱藏的編碼模型
一.內(nèi)聯(lián)代碼與代碼隱藏
代碼隱藏模型相對(duì)內(nèi)聯(lián)代碼的優(yōu)勢(shì):
1.邏輯代碼和html的分離,使得我們可以更專注于業(yè)務(wù)邏輯的處理。
2.使業(yè)務(wù)邏輯更加清晰。
3.可以將后置代碼編譯成dll,使得程序更加安全。
二.后置代碼與頁(yè)面的關(guān)系和機(jī)制
與代碼后置模型相關(guān)的三個(gè)類。
1.基頁(yè)面類 page類
.net類庫(kù)中的page類,page類定義了頁(yè)面的基本功能。例如:允許存放其他控件、呈現(xiàn)html、提供對(duì)asp.net對(duì)象的訪問(如request、response、session等)。
2.代碼后置類
在編譯的時(shí)候,asp.net利用了分部類的神奇功能把一些額外的代碼附加到代碼后置類中。
在附加的這部分代碼中,把頁(yè)面上所有控件定義成protected類型的變量,從而使得可以在代碼后置類中能夠訪問這些控件。
3.頁(yè)面類
asp.net編譯器在編譯的時(shí)候會(huì)創(chuàng)建另一個(gè)類代表實(shí)際的aspx頁(yè)面,這個(gè)類繼承自代碼隱藏類。
這個(gè)類中包含了初始化控件和呈現(xiàn)html的代碼。當(dāng)接受到這個(gè)頁(yè)面請(qǐng)求時(shí),asp.net實(shí)例化這個(gè)類。
這三各類的關(guān)系如下圖:
三.代碼隱藏文件與頁(yè)面的連接
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
代碼隱藏文件與頁(yè)面的連接非常簡(jiǎn)單,在aspx頁(yè)面頂端的這樣一句話就完成了他們之間的連接。
codeFile指定了后置代碼的文件,Inherits指定了已經(jīng)編譯的后置代碼的類名。
四.控件與頁(yè)面變量的連接
了解后置代碼類和頁(yè)面類的關(guān)系以后,控件如何和頁(yè)面變量連接的理解就簡(jiǎn)單多了。
比如:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
asp.net編譯器都會(huì)附件如下的變量聲明到你的代碼后置類中,當(dāng)然這些聲明是不可見的:
protected System.Web.UI.TextBox TextBox1;
這樣就能夠在后置代碼類中訪問頁(yè)面控件標(biāo)簽了。
五.事件與事件處理程序的連接
.net當(dāng)中事件機(jī)制是一種非常重要的機(jī)制,這一部分放到后面慢慢弄清楚。
- ASP.NET MVC3關(guān)于生成純靜態(tài)后如何不再走路由直接訪問靜態(tài)頁(yè)面
- ASP.NET的事件模型(很適合學(xué)習(xí)的文章)
- asp.net mvc路由篇 如何找到 IHttpHandler方法介紹
- ASP.NET Web API教程 創(chuàng)建域模型的方法詳細(xì)介紹
- asp.net不用設(shè)置iis實(shí)現(xiàn)url重寫 類似偽靜態(tài)路由
- ASP.NET中實(shí)現(xiàn)Form表單字段值自動(dòng)填充到操作模型中
- ASP.NET?MVC5?網(wǎng)站開發(fā)框架模型、數(shù)據(jù)存儲(chǔ)、業(yè)務(wù)邏輯(三)
- 為ASP.NET MVC及WebApi添加路由優(yōu)先級(jí)
- 淺析ASP.NET路由模型工作原理
相關(guān)文章
swfupload ajax無刷新上傳圖片實(shí)例代碼
在這里上傳圖片就需要用到ajax無刷新上傳圖片,這里面包含的東西不是一點(diǎn)半點(diǎn)。這里用到的是一個(gè)插件swfupload實(shí)現(xiàn)無刷新上傳圖片,感興趣的朋友可以參考下哈2013-06-06asp.net B2B網(wǎng)站對(duì)接支付寶接口
首先,網(wǎng)上購(gòu)物系統(tǒng)必須與支付寶公司簽訂合作協(xié)議,以確保從本購(gòu)物網(wǎng)站上傳到2010-06-06.NET Core中如何實(shí)現(xiàn)或使用對(duì)象池?
什么是對(duì)象池?簡(jiǎn)單來說它就是一種為對(duì)象提供可復(fù)用性能力的軟件設(shè)計(jì)思路,對(duì)象池就是通過“借”和“還”這樣兩個(gè)動(dòng)作來保證對(duì)象可以被重復(fù)使用,這篇文章主要給大家介紹了關(guān)于.NET Core中如何實(shí)現(xiàn)或使用對(duì)象池的相關(guān)資料,需要的朋友可以參考下2021-07-07GridView分頁(yè)的實(shí)現(xiàn)以及自定義分頁(yè)樣式功能實(shí)例
本文為大家詳細(xì)介紹下GridView實(shí)現(xiàn)分頁(yè)并自定義的分頁(yè)樣式,具體示例代碼如下,有想學(xué)習(xí)的朋友可以參考下哈,希望對(duì)大家有所幫助2013-07-07asp.net 使用ObjectDataSource控件在ASP.NET中實(shí)現(xiàn)Ajax真分頁(yè)
ASP.NET 3.5中新增加的ListView控件是一個(gè)用于頁(yè)面數(shù)據(jù)綁定和界面布局的非常棒的控件,它在ASP.NET 2.0 GridView的基礎(chǔ)上做了很多改進(jìn),用戶在使用時(shí)可以控制的元素更多,開發(fā)時(shí)的靈活性更大了,個(gè)人覺得ListView在使用時(shí)比DataGrid和GirdView更加順手。2009-11-11