溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ASP.NET頁(yè)面框架概念是什么

發(fā)布時(shí)間:2021-12-06 15:08:51 來(lái)源:億速云 閱讀:143 作者:iii 欄目:編程語(yǔ)言

本篇內(nèi)容主要講解“ASP.NET頁(yè)面框架概念是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“ASP.NET頁(yè)面框架概念是什么”吧!

ASP.NET 頁(yè)面框架組件是Web窗體框架中一個(gè)可縮放的通用語(yǔ)言運(yùn)行時(shí)編程模型,它可以用于動(dòng)態(tài)地生成Web頁(yè)面。ASP.NET頁(yè)面框架組件是ASP的合理進(jìn)化(ASP.NET提供的語(yǔ)法與已有的頁(yè)面是兼容的),它被特意地設(shè)計(jì)用于解決早期模型中的大量的關(guān)鍵的缺陷。特別是,它提供了建立和使用可供重復(fù)使用的(reusable)UI控件的能力,這些控件可以封裝公用的功能,從而減少了頁(yè)面開(kāi)發(fā)者需要編寫(xiě)的代碼數(shù)量;它使開(kāi)發(fā)者能夠清晰有序地構(gòu)造頁(yè)面邏輯(并非“纏繞在一起的代碼”);它使用的開(kāi)發(fā)工具提供了強(qiáng)大的WYSIWYG(所見(jiàn)即所得)頁(yè)面設(shè)計(jì)支持能力(已有的傳統(tǒng)ASP代碼是不透明的)。

編寫(xiě)***個(gè)ASP.NET頁(yè)面

ASP.NET頁(yè)面是帶.aspx擴(kuò)展名的文本文件。頁(yè)面由代碼和標(biāo)記(tag)組成,它們?cè)?a title="服務(wù)器" target="_blank" href="http://kemok4.com/">服務(wù)器上動(dòng)態(tài)地編譯和執(zhí)行,為提出請(qǐng)求的客戶端瀏覽器(或設(shè)備)生成顯示內(nèi)容。它們可以被部署在IIS虛擬目錄樹(shù)之下。當(dāng)瀏覽器客戶端請(qǐng)求.aspx資源的時(shí)候,ASP.NET運(yùn)行時(shí)(runtime)對(duì)目標(biāo)文件進(jìn)行分析,并把它編譯成.NET框架類,這個(gè)類接下來(lái)就可以用于動(dòng)態(tài)地處理請(qǐng)求了(請(qǐng)注意,.aspx文件只在***次被訪問(wèn)的時(shí)候才編譯,編譯形成的類型實(shí)例以后供多個(gè)請(qǐng)求重復(fù)使用)。

我們不用修改HTML文件中的代碼,只需要把它的擴(kuò)展名改成.aspx,就建立了一個(gè)ASP.NET頁(yè)面。例如,下面的例子演示了一個(gè)簡(jiǎn)單的HTML頁(yè)面,它收集用戶的姓名和類別,當(dāng)用戶點(diǎn)擊按鈕的時(shí)候就把窗體(form)發(fā)回原頁(yè)面:

﹤form action="intro1_vb.aspx" method="post"﹥  ﹤h4﹥ Name: ﹤input id="Name" type=text﹥  Category: ﹤select id="Category" size=1﹥  ﹤option﹥psychology﹤/option﹥  ﹤option﹥business﹤/option﹥  ﹤option﹥popular_comp﹤/option﹥  ﹤/select﹥  ﹤input type=submit value="Lookup"﹥  ﹤/h4﹥  ﹤/form﹥

請(qǐng)注意:當(dāng)你點(diǎn)擊“Lookup”按鈕的時(shí)候沒(méi)有發(fā)生任何事情,這是由于該.aspx文件只包含了靜態(tài)HTML(沒(méi)有動(dòng)態(tài)內(nèi)容)。因此,相同的HTML被發(fā)回到客戶端,從而導(dǎo)致窗體字段(文本框和下拉列表)內(nèi)容丟失。

給頁(yè)面添加簡(jiǎn)單的代碼

ASP.NET提供ASP.NET頁(yè)面框架的語(yǔ)法與ASP頁(yè)面是兼容的。它支持﹤% %﹥代碼呈現(xiàn)(render)塊,在.aspx文件中它可以與HTML內(nèi)容混合使用。在頁(yè)面顯示的時(shí)候,這些代碼塊會(huì)嚴(yán)格地執(zhí)行。

下面的例子演示了如何在HTML中使用﹤% %﹥呈現(xiàn)塊(每次增加字體的尺寸):

﹤form action="intro2_vb.aspx" method="post"﹥  ﹤h4﹥ Name: ﹤input id="Name" type=text﹥  Category: ﹤select id="Category" size=1﹥  ﹤option﹥psychology﹤/option﹥  ﹤option﹥business﹤/option﹥  ﹤option﹥popular_comp﹤/option﹥  ﹤/select﹥  ﹤/h4﹥  ﹤input type=submit value="Lookup"﹥  ﹤p﹥  ﹤% Dim I As Integer  For I = 0 to 7 %﹥  ﹤font size="﹤%=I%﹥"﹥ Welcome to ASP.NET ﹤/font﹥ ﹤br﹥  ﹤% Next %﹥  ﹤/form﹥

請(qǐng)注意:上面的例子中的﹤% %﹥代碼塊與ASP不同,它會(huì)被真正地編譯——而不是由腳本引擎來(lái)解釋。這改善了運(yùn)行時(shí)的執(zhí)行性能。

ASP.NET頁(yè)面框架開(kāi)發(fā)者可以使用﹤% %﹥代碼塊動(dòng)態(tài)地修改HTML輸出信息。例如,下面的代碼演示了如何使用﹤% %﹥代碼塊來(lái)解釋客戶端發(fā)回的結(jié)果:

﹤form action="intro3_vb.aspx"﹥  ﹤h4﹥ Name: ﹤input name="Name" type=text value="﹤%=HttpUtility.HtmlEncode(Request.QueryString("Name"))%﹥"﹥  Category: ﹤select name="Category" size=1﹥  ﹤%   Dim I As Integer   Dim Values(2) As String   Values(0) = "psychology"  Values(1) = "business"  Values(2) = "popular_comp"  For I = 0 To Values.Length - 1  %﹥  ﹤% If (Request.QueryString("Category") = Values(i)) %﹥   ﹤option selected﹥  ﹤% Else %﹥   ﹤option﹥  ﹤% End If %﹥  ﹤%=Values(i)%﹥  ﹤/option﹥   ﹤% Next %﹥  ﹤/select﹥  ﹤/h4﹥  ﹤input type=submit name="Lookup" value="Lookup"﹥  ﹤p﹥  ﹤% If (Not Request.QueryString("Lookup") = Nothing) %﹥  Hi ﹤%=HttpUtility.HtmlEncode(Request.QueryString("Name")) %﹥, you selected: ﹤%=HttpUtility.HtmlEncode(Request.QueryString("Category")) %﹥  ﹤% End If %﹥  ﹤/form﹥

請(qǐng)注意:盡管﹤% %﹥代碼塊為我們定制ASP.NET頁(yè)面返回的文本輸出信息提供了強(qiáng)大的途徑,但是它們沒(méi)有提供清晰的HTML編程模型。上面的例子顯示,僅使用﹤% %﹥代碼塊的開(kāi)發(fā)者必須自己管理頁(yè)面的狀態(tài)、自己截取被發(fā)送的值。

到此,相信大家對(duì)“ASP.NET頁(yè)面框架概念是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI