ASP.NET的关键目标之一是创建一种让开发人员能够像Windows应用程序开发者定制桌面应用程序那样的快速定制Web Forms的模式。当然Web应用程序与传统富客户端应用程序有很大的不同,要实现这种模式有两个关键的障碍。
1.Web应用程序是在服务器端执行的:例如,假设创建一个允许用户选择一个产品记录并更新它的信息的Form。用户在浏览器中执行这些任务,但是为了执行这些必要的操作(例如更新数据),代码必须在Web服务器上执行。ASP.NET使用一种叫做回传的技术来处理这种分离性,当某些动作被执行的时候,它把网页(包括所有用户提供的信息)发送给服务器。ASP.NET一旦接收到这个网页,它就能够触发相应的服务器端事件来对应的代码。
2.Web应用程序是无状态的:换句话说,呈现给用户的HTML页被发送给用户之前,这个网页的对象被清除并且所有的客户端指定的信息被禁止。因为这种模式非常适合高扩展性和网络通信繁忙的应用程序。但是这也使得他很难创建一种无缝的用户体验。ASP.NET包含几个工具来帮助我们消除这中不足。最有名的就是被叫做View state 的持久化机制,它能够自动的把关于网页的信息嵌入在呈现给用户的HTML中的隐藏域中。