1、事件驱动编程的基本概念;
系统或者用户触发事件 -> ASP.NET获得事件执行命令 -> ASP.NET执行事件,并将结果返回给用户;
浏览器端事件,事件代码在浏览器端,js,vbscript等;
服务器端事件,执行事件的代码在服务器端,C#等;
2、服务器端事件和浏览器端HTML事件;
在 ASP.NET 网页中,与服务器控件关联的事件在客户端(浏览器)上引发,
由ASP.NET页在 Web 服务器上处理。对于在客户端引发的事件,ASP.NET
Web 控件事件模型要求在客户端捕获事件信息,并通过 HTTP POST将事件
消息传输到服务器。ASP.NET页面将解释该POST以确定所发生的事件,然
后在要处理该事件的服务器上调用代码中的相应方法。
3、ASP.NET控件引发的各种事件;
回发事件:如按钮的click单击事件,即触发事件后,页面马上回发到服务器执行事件处理代码;
非回发事件:如服务器控件的change事件等,这些事件触发后,不会马上回发到服务器执行事件处理代码,而是到等到下一次页面提交后再执行这些事件处理代码;
AutoPostBack设置为true即可将非回发事件编程回发事件;
页面回发以后状态信息的存储;
事件处理程序,其实就是一个方法,protected void Button3_Click(object sender, EventArgs e);
sender:表示哪个控件引发的事件;
e:表示事件参数;
将多个事件连接到一个事件处理程序,节省代码量;
4、ASP.NET服务器端控件和客户端脚本如何关联;
服务器端控件执行客户端事件,两种方法:
(1)直接在前台添加客户端事件;
(2)在后台运行时添加;
Page.ClientScript.RegisterStartupScript(...);
为什么在服务器端编写客户端脚本呢?
当脚本依赖服务端代码的执行结果时,需要在服务器端写客户端脚本;
5、ASP.NET页面生命周期以及相应的事件;
页面跟踪,跟踪页面事件执行的顺序;
页面生命周期包括如下8个阶段:
页请求;
开始;
页初始化,Page_Init;
加载,Page_Load;
验证;
回发事件处理,Control envents;
呈现;
卸载,Page_Unload;
IsPostBack属性:
如果为True,表示不是第一次生成的页面,而是回发之后重新生成的页面;
如果为False,表示该页面是第一次生成的页面;
6、ASP.NET核心内置对象;
Server对象:表示ASP.NET服务器的一些信息,由ASP.NET自动创建,也成为内置对象;
Server对象方法演示:
Execute:调用完另一个页面之后继续执行后面的代码;
Transfer:调用完另一个页面之后终止当前页执行;
HtmlEncode:将html标签当做普通字符输出;
HtmlDecode:html解码;
UrlEncode:对Url进行编码,将url中的特殊字符当做普通的字符,如&,?等等;
UrlDecode:对编码过的Url进行解码;
MapPath:将文件在服务器上的虚拟目录转换为服务器上的物理路径,或者由虚拟路径得到物理路径;