国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

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

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

什么是 ASP?

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

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

ASP 文件是什么?

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

它如何工作?

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

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

如需學(xué)習(xí)更多 ASP,請(qǐng)?jiān)L問我們的《ASP 教程》。

什么是 ASP+?

ASP+ 等同于 ASP.NET。

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

什么是 ASP.NET?

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

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

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

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

.NET 框架(.NET Framework)

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

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

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

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

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

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

ASP 與 ASP.NET 之間的差異

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

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

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

ASP.NET 的新特性

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

語(yǔ)言支持

ASP.NET 使用新的 ADO.NET。

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

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

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

ASP.NET 控件

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

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

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

事件驅(qū)動(dòng)的控件

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

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

ASP.NET 組件

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

用戶身份驗(yàn)證

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

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

User 帳戶和角色

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

高可伸縮性

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

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

編譯代碼

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

易于配置

通過(guò)純文本文件就可完成對(duì) ASP.NET 的配置。

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

易于開發(fā)

不需要重起服務(wù)器來(lái)配置和替換已編譯的代碼。ASP.NET 會(huì)簡(jiǎn)單地把所有新的請(qǐng)求重定向到新的代碼。

兼容性

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

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

ASP.NET - Web 頁(yè)面

一個(gè)簡(jiǎn)單的 ASP.NET 頁(yè)面看上去類似一張普通的 HTML 頁(yè)面。

Hello W3School

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

Hello W3School

用 HTML 編寫的 Hello W3School

這張 HTML 頁(yè)面的 HTML 代碼:

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

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

用 ASP.NET 編寫的 Hello W3School

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

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

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

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

它如何工作?

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

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

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

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

經(jīng)典的 ASP

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

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

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

如果您希望學(xué)習(xí)更多有關(guān) Classic ASP 的知識(shí),請(qǐng)?jiān)L問我們的 ASP 教程。

用 Classic ASP 編寫的動(dòng)態(tài)頁(yè)面

為了向您演示如何使用動(dòng)態(tài)內(nèi)容顯示頁(yè)面,我們向上面的例子添加了一些可執(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 代碼,用來(lái)向 HTML 輸出流文本。

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

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

用 ASP .NET 編寫的動(dòng)態(tài)頁(yè)面

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

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

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

ASP.NET vs Classic ASP

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

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

在下面的章節(jié),您會(huì)看到,服務(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)行輸出的位置。

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

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

通過(guò)服務(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 元素是作為文本來(lái)進(jìn)行處理的。要想使這些元素可編程,就需要向這些 HTML 元素添加runat="server" 屬性。該屬性指示,此元素是一個(gè)服務(wù)器控件。同時(shí)要添加 id 屬性來(lái)標(biāo)識(shí)該服務(wù)器控件。id 引用可用于操作運(yùn)行時(shí)的服務(wù)器控件。

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

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

注釋:事件句柄(event handler)是一種針對(duì)給定事件執(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" 屬性以使其生效。不過(guò),Web 服務(wù)器控件沒有必要映射任何已存在的 HTML 元素,它們代表更復(fù)雜的元素。

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

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

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

<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)證用戶輸入。如果用戶輸入沒有通過(guò)驗(yàn)證,將給用戶顯示一條錯(cuò)誤消息。

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

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

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

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

在下面的例子中,我們?cè)?.aspx 文件中聲明了一個(gè) TextBox 控件,一個(gè) Button 控件,以及一個(gè) 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)是一種針對(duì)給定事件來(lái)執(zhí)行代碼的子例程。

ASP.NET - 事件句柄

請(qǐng)看下面的代碼:

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

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

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

Page_Load 事件

Page_Load 事件是眾多 ASP.NET 可理解的事件之一。Page_Load 事件會(huì)在頁(yè)面加載時(shí)被觸發(fā),然后 ASP.NET 會(huì)自動(dòng)調(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 事件不包含對(duì)象引用或事件參數(shù)!

TIY

Page.IsPostBack 屬性

Page_Load 子例程會(huì)在頁(yè)面每次加載時(shí)運(yùn)行。如果您僅希望在頁(yè)面第一次加載時(shí)執(zhí)行 Page_Load 子例程中的代碼,您可以使用 Page.IsPostBack 屬性。如果 Page.IsPostBack 屬性為 false,則頁(yè)面第一次被載入,如果為 true,則頁(yè)面?zhèn)骰胤?wù)器(例如,通過(guò)點(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>

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

TIY

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

聯(lián)系客服