ASP.NET Web 伺服器控制元件事件模型
阿新 • • 發佈:2018-11-05
ASP.NET 中有一個重要功能,允許您通過與客戶端應用程式中類似的、基於事件的模型來對網頁進行程式設計。舉一個簡單的例子,例如,可以向 ASP.NET 網頁中新增一個按鈕,然後為該按鈕的 Click 事件編寫事件處理程式。儘管這種情況在僅使用客戶端指令碼(在動態 HTML 中處理按鈕的 onclick 事件)的網頁中很常見,但 ASP.NET 將此模型引入到了基於伺服器的處理中。
與傳統 HTML 頁或基於客戶端的 Web 應用程式中的事件相比,由 ASP.NET 伺服器控制元件引發的事件的工作方式稍有不同。導致差異的主要原因在於事件本身與處理該事件的位置的分離。在基於客戶端的應用程式中,在客戶端引發和處理事件。但是,在 ASP.NET 網頁中,與伺服器控制元件關聯的事件在客戶端(瀏覽器)上引發,但由 ASP.NET 頁在 Web 伺服器上處理。
對於在客戶端引發的事件,ASP.NET Web 控制元件事件模型要求在客戶端捕獲事件資訊,並通過 HTTP POST 將事件訊息傳輸到伺服器。頁必須解釋該 POST 以確定所發生的事件,然後在要處理該事件的伺服器上呼叫程式碼中的相應方法。
ASP.NET 處理捕獲、傳輸和解釋事件等任務。當您在 ASP.NET 網頁中建立事件處理程式時,通常無需考慮捕獲事件資訊並使其可用於您的程式碼的方式。建立事件處理程式的方式與您在傳統的客戶端窗體上的建立方式大體相同。儘管如此,ASP.NET 網頁中的事件處理仍有一些您應該注意的地方。
來自:http://msdn.microsoft.com/zh-cn/library/y3bwdsh3(VS.80).aspx