當(dāng)客戶端向Web Forms應(yīng)用程序發(fā)出HTTP請(qǐng)求時(shí),會(huì)實(shí)例化一個(gè)頁(yè)面并創(chuàng)建一個(gè)響應(yīng)。為了了解這個(gè)頁(yè)面及其模型,創(chuàng)建一個(gè)ASP. NET Empty Web Application,命名為ProCSharpSample,在其中添加一個(gè)名為ShowMeetingRooms.aspx的Web表單。
  局域網(wǎng)管理工具的ASPX頁(yè)面的第一行包含一個(gè)Page指令,如下面的代碼片段所示(代碼文件ProCSharpWeb/Page Model/ShowMeetingRooms.aspx)。這個(gè)指定定義了ASP. NET頁(yè)面解析器、編譯器和Visual Studio的特性。編譯器在運(yùn)行期間使用Language特性來(lái)編譯ASPX頁(yè)面內(nèi)的語(yǔ)句。ASPX語(yǔ)句包含在內(nèi)。AutoEventWireup特性被設(shè)為true,意味著頁(yè)面事件的事件處理程序?qū)⒈蛔詣?dòng)關(guān)聯(lián)。只需要在定義方法時(shí),提供正確的名稱和簽名以激活頁(yè)面的時(shí)間處理程序即可。運(yùn)行期間不會(huì)使用Code Behind特性,這告訴Visual Studio,文件ShowMeetingRooms.aspx.cs屬于ShowMeetingRooms.aspx頁(yè)面,因此在Solution Explorer中顯示時(shí),能看到它們之間的關(guān)系。對(duì)于ASPX引擎來(lái)說(shuō),重要的是Inherits特性。在局域網(wǎng)管理工具的ASPX頁(yè)面中,從Inherits特性定義的基類創(chuàng)建了一個(gè)派生類。
  文件ShowMeetingRooms.aspx.cs是代碼隱藏文件。默認(rèn)情況下,值實(shí)現(xiàn)了Page的Load事件的處理程序方法Page Load。由于AutoEventWireup特性,完成了到這個(gè)處理程序的映射。
  把控件從工具箱拖放到編輯器的設(shè)計(jì)器或源代碼視圖,即可把它們添加到頁(yè)面。應(yīng)用程序的第一個(gè)頁(yè)面顯示了一個(gè)下拉列表,用于選擇一個(gè)會(huì)議室。為此,頁(yè)面中包含一個(gè)Dropdown List、一個(gè)Label和一個(gè)Button控件。在設(shè)計(jì)器視圖中,單擊Dropdown List控件的智能標(biāo)記將打開(kāi)Dropdown List任務(wù),其中包含菜單項(xiàng)Edit Items。選擇此菜單項(xiàng)可打開(kāi)List Item Collection Editor對(duì)話框。
  從runat特性可以看出,DropDownList、Label和Button都是服務(wù)器端控件。這些控件可用服務(wù)器端C#代碼編程,并把HTML和JavaScript代碼返回到客戶端。代碼隱藏文件時(shí)一個(gè)部分類。設(shè)計(jì)器為相同類型的類(其中只包含ASPX文件中命名的服務(wù)器控件的成員變量)創(chuàng)建了另一個(gè)部分類文件。這樣一來(lái),就可以從代碼隱藏文件訪問(wèn)所有控件,因?yàn)榇a隱藏文件與該部分類文件的類相同。
  但是,這里有一個(gè)問(wèn)題,選擇發(fā)生變化時(shí),并不會(huì)調(diào)用事件處理程序。只有當(dāng)單擊Submit按鈕時(shí),才會(huì)在服務(wù)器端調(diào)用事件處理程序。ASPX頁(yè)面模型是基于回送的。因?yàn)榫幾g過(guò)的C#代碼在服務(wù)器上運(yùn)行,所以客戶端需要向服務(wù)器發(fā)送請(qǐng)求來(lái)請(qǐng)求來(lái)調(diào)用事件處理程序。單擊Submit按鈕就發(fā)送了這樣的一個(gè)請(qǐng)求:使用HTTP POST請(qǐng)求,將form元素內(nèi)的控件的所有狀態(tài)信息發(fā)送給服務(wù)器。其中也包含視圖狀態(tài)信息。ASPX控件使用視圖狀態(tài)來(lái)管理事件處理功能。把頁(yè)面發(fā)送給客戶端時(shí),視圖狀態(tài)包含了關(guān)于控件實(shí)際狀態(tài)的信息,例如在Dropdown List控件中選擇了什么。用戶在Dropdown List控件中改變一個(gè)值時(shí),這些狀態(tài)信息仍不會(huì)改變。把數(shù)據(jù)發(fā)送到服務(wù)器時(shí),視圖狀態(tài)仍然包含原始信息,與視圖內(nèi)的Dropdown List一起傳遞的狀態(tài)也包含了當(dāng)前信息。在服務(wù)器端,現(xiàn)在可以檢測(cè)到原始狀態(tài)到當(dāng)前狀態(tài)之間發(fā)生的變化,所以將觸發(fā)事件OnSelectedIndxChanged,并調(diào)用相應(yīng)的事件處理程序。

 

★關(guān)于WorkWin公司電腦監(jiān)控軟件★

WorkWin的使命是打造Work用途的Windows 電腦系統(tǒng),有效規(guī)范員工上網(wǎng)行為,讓老板知道員工每天在做什么(監(jiān)控包括屏幕、上網(wǎng)在內(nèi)的一舉一動(dòng)),限制員工不能做什么(禁止網(wǎng)購(gòu)、游戲、優(yōu)盤等)。

WorkWin基于純軟件設(shè)計(jì),非常容易使用,無(wú)需添加或改動(dòng)任何硬件,使用一臺(tái)管理機(jī)監(jiān)控全部員工機(jī)電腦。歷經(jīng)南京網(wǎng)亞十余年精心打造,此時(shí)此刻每天都有成千上萬(wàn)企業(yè)電腦正在運(yùn)行WorkWin,選擇WorkWin選擇“贏”。

WorkWin介紹

WorkWin監(jiān)控首頁(yè) 短視頻講解 下載免費(fèi)試用版

版權(quán)所有,南京網(wǎng)亞計(jì)算機(jī)有限公司 。本文鏈接地址: 局域網(wǎng)管理工具的ASPX頁(yè)面模型