PostBack

PostBack英文解释:Post-发送至服务器,Back-并返回结果。IsPostBack=true,说明当前的操作信息发送至服务器,并要在本页面得到结果;IsPostBack=false,在代码中的真正意思是:本页面没有主动向服务器发送请求,只是服务器接收到浏览器或其他应用的请求而第一次跳转至本页面,这样,在实际应用中我们可以用if(!IsPostBack){}来实现首次加载本页面需要做的,而之后在本页面进行postback操作不能做的事。

 

 

每当点击Web网页上的Button、LinkButton或ImageButton控件时,表单就会被发送到服务器上。如果控件的AutoPostBack属性被设置为true,如果CheckBox、CheckBoxList等控件的状态被改变后,也会使表单会发送回服务器。 
每次当表单被发送回服务器,就会被重新加载,启动Page_Load事件,执行Page_Load事件处理程序中的所有代码。把网页的初始化代码放在这里是最合适不过的了。我们经常会希望在每次加载网页时执行一些代码,而希望只有在网页第一次加载时执行另一些代码,甚至希望一些代码在除首次加载外的每次加载时执行。 
可以利用IsPostBack特性来完成这一功能。在网页第一次加载时,该属性的值是false。如果网页因回送而被重新加载,IsPostBack属性的值就会被设置为true。通过测试,可以在任意时候执行指定的代码。下面是相关的C#代码: 
protected void Page_Load(Object sender, EventArgs e) 

// 网页每次加载时,执行的一些操作 
if (!IsPostBack) 

// 网页第一次加载时执行的操作 

else 

// 回送时执行的操作 


// 网页每次加载时执行的操作 

我们希望尽量不引起回送(每次回送都会要求服务器进行一系列的操作),即使引起回送后。也希望能够执行尽量少的操作。大规模、浪费时间的操作(例如数据库查找)尤其应当避免,因为它们能够延长应用程序的响应时间。

 

 

method="post"和method="get"指定提交的方式,在FORM提交的时候,如果不指定Method,则默认为GET请求


表单提交中Get和Post方式的区别有5点 

    1. get是从服务器上获取数据,post是向服务器传送数据。 
    2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。 
    3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。 
    4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。 
    5. get安全性非常低,post安全性较高。
posted @ 2011-06-19 12:06  StudyNLP  阅读(277)  评论(0编辑  收藏  举报