为什么这足一个问题?是的在编写应用程序的时候这确实会造成一些实际的问题因为通常都会希望以某种形式保留数据例如考虑一个在线一商店的支付贝面例如在线商店的支付页面如图所示
付款包括多个步骤每一步都要求用户提供某种形式的信息确保他们己经登录检查他们的地址以及批准付款只要与HTTP有关每个步骤都是由用户发出的一个独立的请求页面加载是一个请求按下Next按钮是另一个请求如此等等
在页面上填写了某些详细信息并按下按钮之后这些信息将被送回Web服务器(术语回送(post)实际上来源于HTTP的POST命令)在到达付款的最后一个步骤时需要用到用户输入的所有信息而不仅仅是最后一个步骤中提供的内容由于HTTP和HTML不会保存这些信息开发人员就必须自己进行保存在ASPNET以外的开发环境中这可能会非常复杂而且耗时甚多但幸运的是服务器控件非常聪明它们可以在多次回送之间保存自己的状态这意味着开发人员不再需要进行任何特殊的处理如果用户按下按钮将信息发送到Web服务器页面在刷新之后文本框中仍然保存着用户所输入的数据这是标准HTML和服务器控件之间最大的差别之一也是我们使用服务器控件的原因之一
服务器控件为我们带来了更多的方便考虑前面所说的支付页面其中有多个文本框这只是其中的一个步骤另外还有登录信息信用卡信息以及对这些步骤本身所采取的管理操作所有的文本项都是服务器控件但是还有一个Wizard控件该控件是专门针对类似情况设计的它能够管理所有步骤在控件的左边创建步骤菜单并提供Previous和Next按钮开发人员所需要做的事情就是定义在这些步骤中需要哪些信息当到达最后一个步骤时用户输入的所有数据都是可用的接下来就可以处理订单了
ASPNET 入门教程完整版
[] []