更新:2007 年 11 月
HTML 窗体是网页的一部分,包含内容、标记、控件(复选框、单选按钮、菜单等)和这些控件的标签。在 ASP.NET 移动网页中,窗体将 Microsoft ASP.NET 技术扩展到多种设备上。有关基本功能的详细列表,请参见 ASP.NET 网页概述。
在 ASP.NET 移动网页中,窗体在页对象的浏览器功能和呈现该页的代码之间提供接口。窗体是控件的一个容器,这些控件将页逻辑封装在可重用的组件中。窗体还可以使页上的代码与内容分离。
窗体激活
每一 ASP.NET 移动网页都具有当前处于活动状态的一个窗体。通过以下方式激活窗体:
第一次访问一页将激活该页上的第一个窗体,这将引发 Activate 事件。
设置移动网页的 ActiveForm 属性将激活不同的窗体。
使用链接到另一个窗体的 Link 控件将在单击此链接时激活该窗体。
后两个操作首先引发前面活动窗体的 Deactivate 事件,然后引发当前窗体的 Activate 事件。
没有可靠的方法来确定用户何时离开当前页;因此,永远不停用最后访问的窗体,并且永远不引发其 Deactivate 事件。
在窗体中组织内容
您可以在单个窗体内放置任意数量的控件。但是,为便于使用,建议尽量减少添加到窗体的控件的数目。
ASP.NET 将这些控件组织到多个单位(例如屏幕)中,以适合目标设备。然后,Form 控件表示可以从页面内定位到的单独可寻址的控件集。例如,如果您在一页上具有两个窗体,一个窗体包含雇员个人信息,另一个窗体包含该雇员的雇佣历史记录,则可以通过访问该窗体参考个人信息。
![]() |
---|
不能通过外部 URL 定位到其他页中的任意窗体。换言之,没有任何外部 URL 可以将您定位到某页内的给定窗体。在浏览到某页时,第一个窗体自动变为活动窗体。若要改为其他窗体,则必须设置该页的 ActiveForm 属性。 |
若要确定是要创建新窗体还是向现有的窗体添加更多控件,请确定您需要的功能。如果您需要单独的可寻址控件集,则创建新窗体。当用户移到应用程序的不同部分时,这尤其有用。否则,可以向现有窗体添加控件。因为单独的 Form 控件被视为单独的交互单元,所以,ASP.NET 永远不将多个窗体合并到单个显示中,即使具有可以这样做的屏幕区域。
创建页与窗体
在创建一页的实例时,创建该页上所有窗体的实例,而与当前活动窗体无关。因此,页的系统开销取决于一页上窗体的数目。
页提供对多个请求的视图状态管理。因为创建一页上所有窗体的实例,所以,从该页上任何窗体上的任何控件都是可寻址的。相比之下,页之间的状态管理受到更多的限制,并且您必须编写自定义代码来提供附加的功能。
只有一页的第一个窗体是可从外部页寻址的。相比之下,每页都有自己的 URL。因此,在应用程序中两个窗体的关联度越高,就越适宜将它们放置于同一页上。另外,最好将较少使用的窗体放置于单独的页上。