Web窗体的Web 窗体页帮助您完成哪些任务
Web 应用程序编程带来了一些特殊的难题,在对传统的基于客户端的应用程序进行编程时,通常不会遇到这些难题。这些难题包括: 实现多样式的 Web 用户界面。对于布局复杂且包含大量动态内容和功能齐全的用户交互对象的用户界面而言,使用基本的 HTML 功能来进行设计和实现将会既困难又费事。其中尤为困难的是为可能在多个不同的浏览器和客户端设备平台上运行的应用程序创建多样式的用户界面。 客户端与服务器的分离。在 Web 应用程序中,客户端(浏览器)和服务器是不同的程序,它们通常在不同的计算机上运行(甚至在不同的操作系统上运行)。因此,共同组成应用程序的这两个部分仅共享很少的信息;它们可以进行通信,但通常只交换很小块的简单信息。 无状态执行。当 Web 服务器接收到对某页的请求时,它会查找该页,对其进行处理,将其发送到浏览器,然后丢弃所有页信息。如果用户再次请求同一页,服务器则会重复整个过程:从头开始对该页进行重新处理。换言之,服务器不会记忆它已处理的页。因此,如果应用程序需要维护有关某页的信息,这就成为一个必须在应用程序代码中解决的问题。 未知的客户端功能。在许多情况下,Web 应用程序可由多个使用不同浏览器的用户进行访问。浏览器具有不同的功能,因此很难创建将在所有浏览器上都同样正常运行的应用程序。 数据访问方面的复杂性。对位于传统 Web 应用程序的数据源进行读取和写入可能比较复杂,并且会消耗大量资源。 可缩放性方面的复杂性。在许多情况下,由于应用程序的不同组件之间缺乏兼容性,用现有方法设计的 Web 应用程序未能实现可缩放性的目标。对于发展周期较短的应用程序,这往往是唯一会导致失败的地方。 若要解决这些 Web 应用程序的难题,可能需要大量的时间和精力。Web 窗体页和 ASP.NET 页框架通过以下几个方面来处理这些难题: 直观、一致的对象模型。ASP.NET 页框架提供了一种对象模型,它使您能够将窗体当作一个整体,而不是分离的客户端和服务器模块。在此模型中,您可以通过比在传统 Web 应用程序中更为直观的方式来对窗体进行编程,其中包括能够设置窗体元素的属性和响应事件。此外,ASP.NET 服务器控件是基于 HTML 页的物理内容以及浏览器与服务器之间的直接交互的一种抽象模型。通常,您可以按照在客户端应用程序中使用控件的方式使用服务器控件,而不必考虑如何创建 HTML 来显示和处理控件及其内容。 事件驱动的编程模型。Web 窗体页给 Web 应用程序带来了一种您熟悉的事件处理程序编写模型,用于为客户端或服务器上发生的事件编写事件处理程序。ASP.NET 页框架对此模型进行了抽象,使捕获客户端上的事件、将其传输到服务器并调用适当方法等操作的基础机制都是自动的,并对于实施者都是不可见的。这样就得到了一个清晰的、易于编写的、支持事件驱动开发的代码结构。 直观的状态管理。ASP.NET 页框架自动处理窗体及其控件的状态维护任务,它使您能够以显式方式维护应用程序特定信息的状态。这种状态管理无需使用大量服务器资源即可实现,而且可以通过向浏览器发送 Cookie 来实现,也可以不通过向浏览器发送 Cookie 来实现。 独立于浏览器的应用程序。ASP.NET 页框架支持在服务器上创建所有应用程序逻辑,使您无需为浏览器中的差异而进行显式编码。但是,它仍允许您自动利用浏览器特定的功能,方法是通过编写客户端代码来提供增强的性能和更丰富的客户端体验。 .NET Framework 公共语言运行库支持。ASP.NET 页框架是 ASP.NET 的一项技术。ASP.NET 是基于 .NET Framework 生成的,因此整个框架都可用于任何 ASP.NET 应用程序。您可以使用任何与运行库兼容的语言(包括 Microsoft Visual Basic、Visual C# 和 JScript .NET)来创作应用程序。此外,数据访问通过 .NET Framework 提供的数据访问基础结构(包括 ADO.NET)得到了简化。 .NET Framework 可缩放服务器性能。ASP.NET 页框架使您能够将 Web 应用程序从一台只装有一个处理器的计算机有效地缩放到多计算机“网络场”(Web farm),而无需对应用程序的逻辑进行复杂的更改。