Page.IsPostBack是一个标志:当前请求是否第一次打开。
1、当通过IE的地址栏等方式打开一个URL时是第一次打开, 当通过页面的提交按钮或能引起提交的按钮以POST的方式提交的服务器时,页面就不再是第一次打开了。
2、IsPostBack只有在第一次打开的时候是false,其它时候都是true
3、Net判断一个Page是否第一次打开的方法:Request.Form.Count>0
4、每次页面Load的时候,根据需要把每次都要加载的代码放在IsPostBack中,只需要加载一次的代码放在if(!IsPostBack)中。
5、每次用户回传服务器任何信息的时候,都会引发isPostBack属性用来判断此用户是否曾经做过登陆或者其他事件。
扩展资料
1、设计目标
C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。
软件必须做到强大、持久,并具有较强的编程生产力。此种语言为在分布式环境中的开发提供适用的组件开发应用。
为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。对国际化的支持非常重要。C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。
2、程序执行
C#所开发的程序源代码并不是编译成能够直接在操作系统上执行的二进制本地代码。与Java类似,它被编译成为中间代码,然后通过.NETFramework的虚拟机——被称之为通用语言运行库(CLR)——执行。
所有的.Net编程语言都被编译成这种被称为MSIL(Microsoft Intermediate Language )的中间代码。因此虽然最终的程序在表面上仍然与传统意义上的可执行文件都具有“.exe”的后缀名。
但是实际上,如果计算机上没有安装.Net Framework,那么这些程序将不能够被执行。
在程序执行时,.Net Framework将中间代码翻译成为二进制机器码,从而使它得到正确的运行。最终的二进制代码被存储在一个缓冲区中。所以一旦程序使用了相同的代码,那么将会调用缓冲区中的版本。
这样如果一个.Net程序第二次被运行,那么这种翻译不需要进行第二次,速度明显加快。
参考资料来源:百度百科-c#
IsPostBack 是指页面的状态是否是Post回发的状态,前面加逻辑非“!”符号,表示页面不是Post回发的状态下,也就是指页面初始的状态。
IsPostBack 是 asp.net 框架Page类中一个bool类型的属性,用来判断针对当前页面Form的请求是第一次还是非第一次请求:
1、当IsPostBack=true时表示非第一次请求,我们称为PostBack;
2、当IsPostBack=false时表示第一次请求。
扩展资料
在 asp.net 框架内部有很多的场景需要判断IsPostBack,比如LoadAllState等操作就需要在PostBack的时候进行。
对于我们自己使用WebForm进行开发时,经常会在Page_Load中对IsPostBack进行判断,因为第一次请求的时候会执行Page_Load,在非第一次请求的时候也会执行Page_Load。
为什么对同一个Form有多次请求呢?asp.net中引入了服务器端事件,支持服务器端事件的控件,会发出对当前Form的请求,这样在很多情形下我们就需要区别是否是对这个Form的第一次请求。
.Net的Web页面的开发可以像Windows窗体一样。但是Web程序说到底还是html表单的提交,所以.Net有个机制,就是提交本页。页面中的服务器端的操作都要反复提交到本页。比如修改部门名称,假设需要选择一个部门名称,然后来到修改页面,这时文本框里需要显示旧的名称,改成新的后,提交修改。于是页面Load的时候,你要写程序设置这个旧值,但是每次提交的时候,页面都要Load,选部门过来和提交修改都是如此。于是你提交到当前页的时候,像选择部门来到当前页一样的执行了一次Load。文本框再次的变成了初始值,当然不行。所以就用if( !IsPostBack )来判断这个页面是不是回传页,或者说是不是第一次打开。把初始化的代码写到这里,就解决了需要设初始值的问题。当页面第一次执行,IsPostBack = true,再次执行就变为false了。IsPostBack的值是.Net在页面的执行过程中,在比Load更早的方法中记录并设置的。
呵呵,像讲故事一样,不知道你理解没有。
IsPostBack是Page类有一个bool类型的属性,用来判断针对当前Form的请求是第一次还是非第一次请求。当IsPostBack=true时表示非第一次请求,称为PostBack,当IsPostBack=false时表示第一次请求。在asp.net框架内部有很多的场景需要判断IsPostBack,比如LoadAllState等操作就需要在PostBack的时候进行。对于使用WebForm进行开发时,经常会在Page_Load中对IsPostBack进行判断,因为第一次请求的时候会执行Page_Load,在非第一次请求的时候也会执行Page_Load。同一个Form有多次请求,asp.net中引入了服务器端事件,支持服务器端事件的控件,会发出对当前Form的请求,这样在很多情形下就需要区别是否是对这个Form的第一次请求。
if(!IsPostBack)
{
//如果不是POST提交(也就是第一次进入该页面),则初始化页面或控件等等
}else
{
//如果是POST提交 (也就是提交表单)执行这里
}