浅析ASP.NET的Page.IsPostBack 属性
浅析ASP.NET的Page.IsPostBack 属性
http://www.sina.com.cn 2008年05月06日 11:33 IT168.com
【IT168技术文档】
现在从对ASP.NET页面的执行顺序开始,体会一下B/S结构的程序的特点,下图是ASP.NET页面的执行顺序说明:
Page_Init(页面初始化引发的事件)——>Page_Load(加载页面时引发的事件)——>Control Event(服务器控件引发的事件)——>Page_UnLoad(页面从内存中卸载时引发的事件)
Page_Init和Page_UnLoad不常用,但是这里还是要说明一下。Page_Init和Page_Load事件区别在于,只有后者才能完全加载控件,绑定数据,虽然你可以在Page_Init中访问控件,但是其viewstate都不会被加载,所以此时控件中只拥有默认值。
这里说到了viewstate,我们先来做一个大致的了解——其实在ASP.NET中有两个viewstate。一个是控件本身的,用来维护控件自己的一些状态,比如说某个空间有变色的功能,它的viewstate就维护这个功能,这个viewstate是不能被用户访问的。相信自己写过控件的朋友都会有这样的感觉,自己写控件当然也要用自己的一个viewstate来维护这个控件的状态;而另外一个viewstate,是用户使用的,这个 viewstate和Session几乎一模一样,必须要先对其进行定义,才能使用。
每当点击ASP.NET的Web网页上的Button、LinkButton或ImageButton等控件时,表单就会被发送到服务器上。如果某些控件的AutoPostBack属性被设置为true,那么当该控件的状态被改变后,也会使表单会发送回服务器。?(AutoPostBack属性,它只有两个bool值,true/false。如果这个属性被设置成false,那么点击后就不会立刻将变化传给服务器处理,也就不会有该控件的 SelectedIndexChanged事件。)
每次当表单被发送回服务器,就会被重新加载,启动Page_Load事件,执行Page_Load事件处理程序中的所有代码(注意,是每次都会执行!)。
很显然把网页的初始化代码放在这里是最合适不过。我们经常会希望在每次加载网页时执行一些代码,如一些控件的数据绑定。
当我们希望只有在网页第一次加载时执行另一些代码(基本上都是数据的默认绑定),甚至希望一些代码在除首次加载外的每次加载时执行。那么我们可以利用IsPostBack特性来完成这一功能。在网页第一次加载时,该属性的值是false。如果网页因回送而被重新加载, IsPostBack属性的值就会被设置为
相关文档:
导出到excel的方法有多种,比较常见的是直接导出到EXCEL,还有就是先将页面的数据写到磁盘文件,之后直接再打开文件,另外还有就
是借助第三方的控件。
前段时间写的导出数据到excel在excel2003中正常而在excel2007中数据乱码,今天了解到原来是Response.ContentType = "application/ms-excel";导致的,改为R ......
ASP.NET 数据控件:GridView,DataList,Repeater ,DetailsView,FormView。
ASP.NET 数据控件综述:
1.前3个用于呈现多条记录,后面2个用于呈现单条数据明细,即常用的记录明细。
2.GridView和DetailsView控件的布局固定,自定义数据显示的布局功能有限,一般适合布局简单的数据呈现。
3.DataList,Repeater和FormView数据 ......
项目和网站的区别
项目编译成dll,网站通过“发布网站”来部署
部署目的地:/bin目录下
7个顶级目录及其编译情况
三种部署方式及其程序集生成情况 (程序集影子拷贝)
定制程序集生成:
<compilation>
<codeSubDirectories>
<add directoryName="vb_components"/ ......
方法一:
HtmlProxy.cs:
using System.Text;
using System.IO;
/// <summary>
/// HtmlProxy 的摘要说明
/// </summary>
public class HtmlProxy
{
public HtmlProxy()
{
//
......
上次我们说到的编译成的dll文件与cs文件在同一目录中,而不会放到虚拟目录的bin目录中,如何做才能够把cs
文件编译成dll且自动放到虚拟目录的bin文件夹中呢?
开始-------程序-------Microsoft Visual Studio.NET 2003-------Visual Studio.NET工具,点击其中的“Visual Studio.NET2003命令提示”,就会进入Mic ......