表單
更新:2007 年 11 月
HTML 表單是 Web 網頁的區段,其中包含內容、標記 (Markup) 型態的標記 (Tag)、控制項 (核取方塊、選項按鈕、功能表等等),以及這些控制項上的標籤 (Label)。在 ASP.NET Mobile Web 網頁中,表單會將 Microsoft ASP.NET 技術擴充到眾多種類的裝置。如需基本功能的詳細清單,請參閱 ASP.NET Web 網頁概觀。
在 ASP.NET Mobile Web 網頁中,表單會為頁面物件的瀏覽器功能與呈現該頁面的程式碼之間提供介面。表單就是將頁面邏輯封裝為可重複使用元件之控制項的容器 (Container)。表單也可用來分離頁面上的程式碼與內容。
表單啟動
每個 ASP.NET Mobile Web 網頁都具有一個目前作用中的表單。啟動表單的方式如下:
第一次存取頁面時會啟動頁面上的第一個表單,進而會引發 Activate 事件
設定此 Mobile Web 網頁的 ActiveForm 屬性時則會啟動不同的表單。
使用連結至另一個表單的 Link 控制項,便會在按一下該連結時啟動該表單。
後面兩個動作會先引發先前作用中表單的 Deactivate 事件,然後引發目前表單的 Activate 事件。
沒有可靠的方式可判斷使用者何時離開目前表單;因此,最後瀏覽的表單永遠不會被停用,因此其 Deactivate 事件永遠不會被引發。
組織表單內容
您可以在個別表單中放置任何數量的控制項。然而,基於可用性,建議最小化加入至表單的控制項數目。
ASP.NET 會針對目標裝置,將這些控制項適當地組織成例如畫面的多重單位。這樣一來,Form 控制項便會代表您可以從該頁面巡覽至其中的個別定址控制項集。例如,如果頁面上有兩個表單,其中一個表單包含員工個人資料,而另一個表單包含員工的履歷,您就可存取該表單以參考個人資料。
注意事項: |
---|
您無法巡覽其他頁面中的任意表單,或透過外部 URL 巡覽表單。換言之,您無法透過任何外部的 URL 來巡覽頁面內的指定表單。當您巡覽頁面時,第一個表單會自動變成作用中。若要切換至另一個表單,您必須設定該頁面的 ActiveForm 屬性。 |
若要判斷是否要建立新的表單或是對現有表單加入更多控制項,請決定您所需要的功能。如果您需要個別定址控制項集,則需要建立新表單。這個功能對於使用者移動到應用程式的不同部分時更為有用。否則,您可將控制項加入至現有表單。因為個別 Form 控制項會被視為分開的互動單位,所以 ASP.NET 絕對不會將多個表單組合到單一顯示,即使當時有進行這項組合的足夠畫面區域。
建立頁面與建立表單
當您建立頁面的執行個體時,無論是否是目前作用中表單,都會建立該頁面上所有表單的執行個體。因此,頁面的額外負荷取決於頁面上的表單數目。
頁面會提供針對多個要求的檢視狀態管理。因為會建立該頁面上所有表單的執行個體,所以可從頁面定址任何表單上的任何控制項。相較之下,頁面之間的狀態管理較為有限,因此您必須撰寫自訂程式碼來提供其他功能。
從外部頁面只能定址頁面的第一個表單。相較之下,每個頁面都具有自己的 URL。因此,應用程式中的兩個表單愈密切相關,愈適合放置在同一頁面上。此外,較少使用的表單最好放置在分開的頁面中。