菜鸟问题。关于!IsPostBack具体用法(请说具体实例)
谢谢大家关注 --------------------编程问答-------------------- 就是IsPostBack具体用途。 --------------------编程问答-------------------- 刚开始只要记得if(!IsPostBack)
{
//这里的代码在页面首次显示时执行,其他情况下不再执行。
}
那么,其他情况是什么?
点击页面上的按钮<asp:Button>,会发现IE的‘后退’按钮亮了。
说明服务器又新生成了一个全新的页返回到客户端,虽然IE地址栏上显示的地址是一样,但要记得这回和刚才显示的页完全没有关系,是一个经过服务器处理后生成的完全新的页面。
在IE地址栏里输入地址后显得的页面的IsPostBack肯定是false, 点击页面上触发所谓PostBack的按钮等等时,新返回来的页面的IsPostBack==true. --------------------编程问答-------------------- up --------------------编程问答-------------------- 建议你网上下个北大青鸟的教程看看 讲的很详细的 --------------------编程问答-------------------- 谢谢大家。我想知道if(!IsPostBack) 与数据的实例,好象与数据绑定有关,这方面不理解 --------------------编程问答-------------------- 顶一下 --------------------编程问答-------------------- if(!IsPostBack)
------------------
ispostback是判断页面是否已经发送过请求。
如果是第一次,则返回false,如果不是,则返回true.
所以if(!ispostback)里面的代码只有第一次请求时才会执行,如果再操作页面的其他按钮或者什么事件时。就不会再执行if(!ispostback)里面的代码了。。 --------------------编程问答-------------------- 关注~~~~~~~~~~~~~~~~~~ --------------------编程问答-------------------- 沉了啊 --------------------编程问答-------------------- 只是判断是否回发
--------------------编程问答-------------------- 谢谢大家。我想知道if(!IsPostBack) 与数据的实例,好象与数据绑定有关,这方面不理解
--与数据有关?
俺的理解是一些空间的数据只需要在第一次生成页面的时候绑定,这样可以减轻服务器负担,例如一个dropdownlist只需要在页面第一次显示的时候初始化即可 --------------------编程问答-------------------- IsPostBack这个属性是判断当前页面是不是回发状态(比如页面加载完成之后再刷新或者触发服务器控件),因此相对的!IsPostBack就是判断页面是不是第一次加载。原则上来说这个属性和数据绑定没有直接关系,不过一般都会把数据绑定的方法写在!IsPostBack块里。其原因在于一般的数据绑定方法都要访问数据源,而无论数据源是何种类型,例如数据库、XML文件,XLS文件等,请求数据源和关闭数据源都要消耗额外的资源,最明显的就是时间。同时,对于ASP.NET服务器控件而言,每个控件本身拥有一个ControlState(可以理解为控件自己的ViewState)用于保存控件本身的状态,比如控件中的数据等等,这也就是为什么服务器控件在页面刷新后值仍然能留在控件中,而普通的HTML控件一刷新值就没有了道理。因此基于这两点,我们一般把数据绑定的方法写在!IsPostBack块中,也就是只有页面第一次加载时才执行数据绑定,否则略过获取数据的步骤,因为控件本身可以保存刷新之前控件内的值,这也是为了不浪费资源,其实就是提高页面回发时的响应速度,改善用户体验,就是这样了,欢迎切磋 --------------------编程问答-------------------- 把数据操作放在if(!IsPostBack) 里面
会少很多麻烦~ --------------------编程问答-------------------- 我刚刚开始学的时候也不知道。
就知道凡是需要加载事件里面赋值的都放里面。
不然下次还会反复执行。 --------------------编程问答-------------------- 比如:两个dropdownlist控件联动时,主dropdownlist(即直接从数据库中取数据的那个)可放在if(!postback){}里面,而从dropdownlist(根据主dropdownlist中的选择的值而从数据库中取数据的dropdownlist)写在if(!postback){}外面,但在之前要先清一下从dropdownlist里的数据(要不然有重复列)!这样只要主dropdownlist的autopost属性被选上就能实现联动了! --------------------编程问答-------------------- 不错,谢谢啦 --------------------编程问答-------------------- 我还是不明白,他是不是执行一次后,后面就不执行了,如果有个提交按钮,点击按钮他会不会执行! --------------------编程问答-------------------- 学习中 --------------------编程问答--------------------
好好的学习来了!!!!谢了
补充:.NET技术 , ASP.NET