IsPostBack到底是怎么传的?页面只从启动开始是C/S之间到底是怎么交互的?

来源:百度知道 编辑:UC知道 时间:2024/06/08 23:31:13
我知道
if( !IsPostBack)
{
//第一次加载执行
}
回传是指服务器向客户端传吗?
那么启动网页时先是浏览器向服务器端请求,服务器端回传向浏览器吗?
IsPostBack这时应该是True吧!那就if( !IsPostBack)根本就不满足啊!

回传是asp.net里的特有词汇(不晓得JAVA里有没有这个概念),就是当你在执行服务端事件时刷新了页面,比如按钮的click事件。而不是第一次加载该页面。
如果你做过asp的话应该清楚,不论点按钮或者进行其他的操作,都需要通过Request.Form[]来获得提交的数据,头疼的是每次提交时都需要执行获得提交数据这样的操作而不管这个数据在客户端是否已经发生了改变。
asp.net中,点击某个按钮,会将客户端的数据提交至服务端,服务端处理click事件并返回处理的结果。asp.net为了减少这个每次都去访问Request.Form[]的过程设置了一个bool类型的属性IsPostBack,将点按钮时候需要提交的数据保存在了ViewState当中,这样一来如果是点击了按钮或者触发了类似DropDownList的SelectedItemChanged这样的事件就不用一个一个通过Request.Form来获得各个控件的值了,asp.net自动会从viewstate中获得每个控件的值,极大的减少了代码量和网络流量。
所以第一次加载页面时IsPostBack属性是设置为false的,这个设置的过程是在页面的OnInit事件之前完成的,一旦发生点击按钮这样的事件,在回传时.net会自动判断是回传页将这个值设置为true,这也是在OnInit事件之前完成的。

回传是客户端向服务器端

网页是一次请求,一次答复。客户端请求一次,服务器回应一次

IsPostBack直译就是"是否是回传"

加了!意思就变成"是否不是回传"

当然是成立的