九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
什么是 ASP/ASP+/ASP.NET

什么是 ASP?

ASP 是一種使嵌入網(wǎng)頁中的腳本可由因特網(wǎng)服務(wù)器執(zhí)行的服務(wù)器端腳本技術(shù)。

  • ASP 是一項(xiàng)微軟公司的技術(shù)
  • ASP 指 Active Server Pages(動態(tài)服務(wù)器頁面)
  • ASP 是運(yùn)行于 IIS 之中的程序
  • IIS 指 Internet Information Services(因特網(wǎng)信息服務(wù))
  • IIS 是 Windows 2000 捆綁的免費(fèi)組件
  • IIS同時也是 Windows NT 4.0 的可選組件
  • 此可選組件可通過因特網(wǎng)下載
  • PWS 的體積更小 - 不過擁有 IIS 的完整功能
  • PWS 可在 Windows 95/98 的安裝 CD 中找到

ASP 文件是什么?

  • ASP 文件和 HTML文件類似
  • ASP 文件可包含文本、HTML、XML 和腳本
  • ASP 文件中的腳本可在服務(wù)器上執(zhí)行。
  • ASP 文件的擴(kuò)展名是 ".asp"

它如何工作?

  • 當(dāng)瀏覽器請求某個 HTML 文件時,服務(wù)器會返回這個文件
  • 而當(dāng)瀏覽器請求某個 ASP 文件時,IIS 將這個請求傳遞至 ASP 引擎
  • ASP 引擎會逐行地讀取這個文件,并執(zhí)行文件中的腳本
  • 最后,ASP 文件將以純 HTML 的形式返回到瀏覽器

在您繼續(xù)學(xué)習(xí) ASP .NET 之前,擁有對微軟 ASP 技術(shù)的基本了解釋有幫助的。

如需學(xué)習(xí)更多 ASP,請訪問我們的《ASP 教程》。

什么是 ASP+?

ASP+ 等同于 ASP.NET。

ASP+ 是微軟研發(fā) ASP.NET 期間所使用的早期名稱。

什么是 ASP.NET?

ASP 3.0 是 ASP 的最新版本,但不會再有 ASP 4.0 版本了。

ASP.NET 是下一代的 ASP,但是不能把 ASP.NET 稱為 ASP 的升級版本。ASP.NET 是全新的服務(wù)器端 ASP 腳本。

ASP.NET 是 .NET 框架的組成部分。微軟耗時三年從底層重寫了 ASP.NET,而 ASP.NET 無法完全向后兼容 ASP 3.0。

您會在本教程的下一節(jié)了解到 ASP 與 ASP.NET 之間的差異所在。

.NET 框架(.NET Framework)

.NET 框架是微軟 .NET 平臺的基礎(chǔ)結(jié)構(gòu)。

.NET 框架是構(gòu)建、開發(fā)及運(yùn)行 Web 應(yīng)用程序和 Web 服務(wù)的一種環(huán)境。

.NET 框架含有公共語言運(yùn)行庫和公共類庫 - 比如 ADO.NET、ASP.NET 以及 Windows 窗體 - 來提供可整合入各種計算機(jī)系統(tǒng)的高級標(biāo)準(zhǔn)服務(wù)。

.NET 框架可提供特性豐富的應(yīng)用程序環(huán)境、簡化的開發(fā)以及眾多開發(fā)語言之間的輕松整合。

.NET 框架中立于語言。目前,它支持 C++、C#、Visual Basic 以及 JScript(微軟的 JavaScript 版本)。

微軟的 Visual Studio.NET 是針對 NET Framework 的公共開發(fā)環(huán)境。

ASP 與 ASP.NET 之間的差異

ASP.NET 擁有更好的語言支持,一整套新的控件,基于 XML 的組件,以及更好的用戶身份驗(yàn)證。

ASP.NET 通過允許編譯的代碼,提供了更強(qiáng)的性能。

ASP.NET 代碼不完全向后兼容 ASP。

ASP.NET 的新特性

  • 更好的語言支持
  • 可編程的控件
  • 事件驅(qū)動的編程
  • 基于 XML 的組件
  • 用戶身份驗(yàn)證,帶有賬號和角色
  • 更高的可伸縮性
  • 更強(qiáng)的性能 - 編譯代碼
  • 更容易配置和開發(fā)
  • 不完全的 ASP 兼容

語言支持

ASP.NET 使用新的 ADO.NET。

ASP.NET 支持完整的 Visual Basic,而非 VBScript。

ASP.NET 支持 C# (C sharp) 和 C++。

ASP.NET 支持 JScript,和以前一樣。

ASP.NET 控件

ASP.NET 包含大量 HTML 控件。幾乎所有頁面中的 HTML 元素都能被定義為 ASP.NET 控件,而這些控件都能由腳本控制。

ASP.NET 同時包含一系列新的面向?qū)ο蟮妮斎肟丶?,比如可編程的列表框和?yàn)證控件。

新的 data grid 控件支持分類、數(shù)據(jù)分頁,以及您對一個數(shù)據(jù)集控件所期待的一切。

事件驅(qū)動的控件

所有 Web 頁面上的 ASP.NET 對象都能夠發(fā)生可被 ASP.NET 代碼處理的事件。

可由代碼處理的加載、點(diǎn)擊和更改事件使得編程更輕松,更有條理。

ASP.NET 組件

ASP.NET 組件深入地基于 XML。比如新的 AD Rotator,它使用 XML 來存儲廣告信息和配置。

用戶身份驗(yàn)證

ASP.NET 支持基于表單的用戶身份驗(yàn)證,包括 cookie 管理和自動的非授權(quán)登錄重定向。

(您仍然能夠定制自己的登陸頁面和用戶驗(yàn)證程序)。

User 帳戶和角色

ASP.NET 允許用戶帳戶和角色,賦予每個用戶(帶有一個給定的角色)不同的服務(wù)器代碼訪問權(quán)限。

高可伸縮性

ASP.NET 在提供更大的可伸縮性方面已有非常多的改善。

服務(wù)器對服務(wù)器的通信已得到極大的增強(qiáng),這使得在若干個服務(wù)器上按比例分配一個應(yīng)用程序成為可能。關(guān)于這一點(diǎn)的一個例子是,我們有能力在不同的服務(wù)器上運(yùn)行 XML 解析器、XSL 轉(zhuǎn)換,甚至耗費(fèi)資源的 session 對象。

編譯代碼

對服務(wù)器上 ASP.NET 頁面的第一個請求是編譯其 ASP.NET 代碼,并在內(nèi)存中保存一份緩存的備份。這樣做的結(jié)果當(dāng)然極大地提高了性能。

易于配置

通過純文本文件就可完成對 ASP.NET 的配置。

配置文件可在應(yīng)用程序運(yùn)行時進(jìn)行上傳和修改。無需重起服務(wù)器。也沒有 metabase 和注冊方面的難題。

易于開發(fā)

不需要重起服務(wù)器來配置和替換已編譯的代碼。ASP.NET 會簡單地把所有新的請求重定向到新的代碼。

兼容性

ASP.NET 不完全兼容早期的 ASP 版本,所有大部分舊的 ASP 代碼需要進(jìn)行修改才能在 ASP.NET 下運(yùn)行。

為了解決這個問題,ASP.NET 使用了一個新的文件后綴 ".aspx"。這樣就使 ASP.NET 應(yīng)用程序與 ASP 應(yīng)用程序能夠一起運(yùn)行在同一個服務(wù)器上。

ASP.NET - Web 頁面

一個簡單的 ASP.NET 頁面看上去類似一張普通的 HTML 頁面。

Hello W3School

為了開始我們的 ASP.NET 學(xué)習(xí)之旅,首先我們將構(gòu)造一張簡單的 HTML 頁面,這張頁面將在瀏覽器中顯示 "Hello W3School":

Hello W3School

用 HTML 編寫的 Hello W3School

這張 HTML 頁面的 HTML 代碼:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3School!</h2>
</center>
</body>
</html>

如果您希望親自試一試,可以把這些代碼保存在名為 "firstpage.html" 的文件中,然后創(chuàng)建一個到此文件的鏈接,就像這樣:firstpage.html。

用 ASP.NET 編寫的 Hello W3School

把 HTML 頁面轉(zhuǎn)換為 ASP.NET 的最簡單的方法是,把這個 HTML 文件拷貝為帶有 .aspx 后綴的新文件。

這些將把我們的例子顯示為一個 ASP.NET 頁面:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3School!</h2>
</center>
</body>
</html>

如果您希望親自試一試,請把這些代碼保存在一個名為 "firstpage.aspx" 的文件中,并創(chuàng)建一個到此文件的鏈接:firstpage.aspx。

它如何工作?

從根本上講,ASP.NET 頁面與 HTML 完全相同。

HTML 頁面的擴(kuò)展名是 .htm 或 .html。假如瀏覽器從服務(wù)器請求某張 HTML 頁面,服務(wù)器不進(jìn)行任何修改,就會把該頁面發(fā)往瀏覽器。

ASP.NET 頁面的擴(kuò)展名是 .aspx。如果瀏覽器請求某張 ASP.NET 頁面,那么在把結(jié)果發(fā)回瀏覽器之前,服務(wù)器首先會處理頁面中的可執(zhí)行代碼。

上面的 ASP.NET 頁面不包含任何可執(zhí)行的代碼,因此也不會執(zhí)行任何代碼。在下面的例子中,我們將向頁面添加一些可執(zhí)行代碼,以便向您演示靜態(tài) HTML 頁面與動態(tài) ASP 頁面的不同之處。

經(jīng)典的 ASP

Active Server Pages (ASP) 已經(jīng)流行很多年了。通過 ASP,可以把可執(zhí)行代碼放置于 HTML 頁面內(nèi)部。

ASP.NET 之前的 ASP 版本經(jīng)常被稱為經(jīng)典 ASP(Classic ASP)。

ASP.NET 不完全兼容 Classic ASP,但是通過少量的修改,Classic ASP 可以良好地作為 ASP.NET 進(jìn)行工作。

如果您希望學(xué)習(xí)更多有關(guān) Classic ASP 的知識,請訪問我們的 ASP 教程

用 Classic ASP 編寫的動態(tài)頁面

為了向您演示如何使用動態(tài)內(nèi)容顯示頁面,我們向上面的例子添加了一些可執(zhí)行代碼:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3School!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

<% --%> 標(biāo)簽內(nèi)的代碼在服務(wù)器上執(zhí)行。

Response.Write 是 ASP 代碼,用來向 HTML 輸出流文本。

Now() 是一個可返回服務(wù)器當(dāng)前日期和時間的函數(shù)。

如果您希望親自試一試,可以把這些代碼保存在名為 "dynpage.asp" 的文件中,并創(chuàng)建一個指向該文件的鏈接:dynpage.asp

用 ASP .NET 編寫的動態(tài)頁面

下面的代碼可把我們的例子顯示為一個 ASP.NET 頁面:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3School!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

如果您希望親自試一試,請把這些代碼保存在名為 "dynpage.aspx" 的文件中,然后創(chuàng)建到此文件的鏈接:dynpage.aspx。

ASP.NET vs Classic ASP

上面的例子無法展示出 ASP.NET 與 Classic ASP 之間的不同之處。

正如您在最后的兩個例子中看到的,在這個兩個 ASP 和 ASP.NET 頁面之間,沒有什么不同之處。

在下面的章節(jié),您會看到,服務(wù)器控件如何使 ASP.NET 比 Classic ASP 更加強(qiáng)大。

服務(wù)器控件是服務(wù)器可以理解的標(biāo)簽。

Classic ASP 的局限性

下面列出的代碼是從上一節(jié)中拷貝的:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello W3School!</h2>
<p><%Response.Write(now())%></p>
</center>
</body>
</html>

上面的代碼能夠反映出 Classic ASP 的局限性:代碼塊必須放置在需要進(jìn)行輸出的位置。

通過 Classic ASP,我們是無法將可執(zhí)行代碼與 HTML 本身進(jìn)行分離的。這使得頁面難以閱讀,也難以維護(hù)。

ASP.NET - 服務(wù)器控件

通過服務(wù)器控件,ASP.NET 已經(jīng)解決了上面所描述的“意大利面條式代碼”的問題。

服務(wù)器控件是可被服務(wù)器理解的標(biāo)簽。

有三種類型的服務(wù)器控件:

  • HTML 服務(wù)器控件 - 傳統(tǒng)的 HTML 標(biāo)簽
  • Web 服務(wù)器控件 - 新的 ASP.NET 標(biāo)簽
  • Validation 服務(wù)器控件 - 用于輸入驗(yàn)證

ASP.NET - HTML 服務(wù)器控件

HTML 服務(wù)器控件是服務(wù)器可理解的 HTML 標(biāo)簽。

ASP.NET 中的 HTML 元素是作為文本來進(jìn)行處理的。要想使這些元素可編程,就需要向這些 HTML 元素添加runat="server" 屬性。該屬性指示,此元素是一個服務(wù)器控件。同時要添加 id 屬性來標(biāo)識該服務(wù)器控件。id 引用可用于操作運(yùn)行時的服務(wù)器控件。

注釋:所有 HTML 服務(wù)器控件必須位于帶有 runat="server" 屬性的 <form> 標(biāo)簽內(nèi)。runat="server" 屬性指示該表單應(yīng)在服務(wù)器進(jìn)行處理。它同時指示其包括在內(nèi)的控件可被服務(wù)器腳本訪問。

在下面的例子中,我們在 .aspx 文件中聲明了一個 HtmlAnchor 服務(wù)器控件。然后我們在一個事件句柄中操作該 HtmlAnchor 控件的 HRef 屬性。Page_Load 事件是眾多 ASP.NET 可理解的事件中的一種類型:

注釋:事件句柄(event handler)是一種針對給定事件執(zhí)行代碼的子例程。

<script runat="server">
Sub Page_Load
link1.
End Sub
</script>

<html>
<body>

<form runat="server">
<a id="link1" runat="server">Visit W3School!</a>
</form>

</body>
</html>

提示:可執(zhí)行代碼本身已被移到 HTML 之外了。

ASP.NET - Web 服務(wù)器控件

Web 服務(wù)器控件是服務(wù)器可理解的特殊 ASP.NET 標(biāo)簽。

類似 HTML 服務(wù)器控件,Web 服務(wù)器控件也在服務(wù)器上創(chuàng)建,它們同樣需要 runat="server" 屬性以使其生效。不過,Web 服務(wù)器控件沒有必要映射任何已存在的 HTML 元素,它們代表更復(fù)雜的元素。

創(chuàng)建 Web 服務(wù)器控件的語法是:

<asp:control_name id="some_id" runat="server" />

在下面的例子中,我們在 .aspx 文件中的聲明了一個 Button 服務(wù)器控件。然后我們?yōu)?Click 事件創(chuàng)建了一個事件句柄,它可修改按鈕上的文本:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You clicked me!"
End Sub
</script>

<html>
<body>

<form runat="server">
<asp:Button id="button1" Text="Click me!" runat="server" OnClick="submit"/>
</form>

</body>
</html>

ASP.NET - Validation 服務(wù)器控件

Validation 服務(wù)器控件用于驗(yàn)證用戶輸入。如果用戶輸入沒有通過驗(yàn)證,將給用戶顯示一條錯誤消息。

每種 validation 控件執(zhí)行一種特定的驗(yàn)證類型(比如驗(yàn)證某個具體的值或者某個范圍的值)。

默認(rèn)地,當(dāng)點(diǎn)擊 Button, ImageButton 或 LinkButton 時,頁面驗(yàn)證才會被執(zhí)行。您可通過把 CausesValidation 屬性設(shè)置為 false,來阻止某個按鈕控件被點(diǎn)擊時進(jìn)行驗(yàn)證。

創(chuàng)建 Validation 服務(wù)器控件的語法是:

<asp:control_name id="some_id" runat="server" />

在下面的例子中,我們在 .aspx 文件中聲明了一個 TextBox 控件,一個 Button 控件,以及一個 RangeValidator 控件。如果驗(yàn)證失敗,文本 "The value must be from 1 to 100!" 將顯示在 RangeValidator 控件中:

<html>
<body>
<form runat="server">

<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>

<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="The value must be from 1 to 100!"
runat="server" />
</p>

</form>
</body>
</html>

TIY

事件句柄(event handler)是一種針對給定事件來執(zhí)行代碼的子例程。

ASP.NET - 事件句柄

請看下面的代碼:

<%
lbl1.Text="The date and time is " & now()
%>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

上面的代碼什么時候會被執(zhí)行?答案是:“我不知道. . .”

Page_Load 事件

Page_Load 事件是眾多 ASP.NET 可理解的事件之一。Page_Load 事件會在頁面加載時被觸發(fā),然后 ASP.NET 會自動調(diào)用子例程 Page_Load,并執(zhí)行其中的代碼:

<script runat="server">
Sub Page_Load
lbl1.Text="The date and time is " & now()
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
</form>
</body>
</html>

注釋:該 Page_Load 事件不包含對象引用或事件參數(shù)!

TIY

Page.IsPostBack 屬性

Page_Load 子例程會在頁面每次加載時運(yùn)行。如果您僅希望在頁面第一次加載時執(zhí)行 Page_Load 子例程中的代碼,您可以使用 Page.IsPostBack 屬性。如果 Page.IsPostBack 屬性為 false,則頁面第一次被載入,如果為 true,則頁面?zhèn)骰胤?wù)器(例如,通過點(diǎn)擊表單上的按鈕):

<script runat="server">
Sub Page_Load
if Not Page.IsPostBack then
  lbl1.Text="The date and time is " & now()
end if
End Sub

Sub Submit(s As Object, e As EventArgs)
lbl2.Text="Hello World!"
End Sub
</script>

<html>
<body>
<form runat="server">
<h3><asp:label id="lbl1" runat="server" /></h3>
<h3><asp:label id="lbl2" runat="server" /></h3>
<asp:button text="Submit" onclick="submit" runat="server" />
</form>
</body>
</html>

上面的例子僅在頁面初次加載時創(chuàng)建 "The date and time is...." 這條消息。當(dāng)用戶點(diǎn)擊 Submit 按鈕時,submit 子例程將在第二個 label 創(chuàng)建 "Hello World!",但第一個 label 中的日期和時間不會改變。

TIY

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ASP.NET Web 頁面語法概覽
關(guān)于asp.net中控件及控件事件的個人總結(jié)
html控件,html服務(wù)器控件,web服務(wù)器控件三者區(qū)別<轉(zhuǎn)載>
ASP.NET頁面——視圖狀態(tài)
asp.net中的控件類型
ASP.NET頁面解析(3)
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服