我们在和同事或者在网上查阅资料的时候,是不是经常看到有“前台事件”,“后台事件”的说法呢?那么,在asp.net中,什么是前台事件,什么又是后台事件呢?
简单一些的理解,我们在开发过程中,写在.aspx文件中的事件为前台事件,比如javascript中的事件,如下:
<script language="javascript" type="text/javascript" >
function event() {
alert('我是前台事件')
}
</script >
而写在.cs文件中的事件为后台事件,如下:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("我是后台事件");
}
如果从代码的解释及执行位置来分,由客户端脚本解释,在客户端执行的事件,我们称之为前台事件。而需要在服务器端解释执行的事件,我们称之为后台事件。
也许有朋友会说,这样解释是不对的,在服务器端也是可以执行客户端事件的。其实是没有错的,在服务器端执行客户端事件,这个过程也是后台事件,只是这个后台事件是通知客户端来执行一个前台事件。所以这种情况要分两步来看,第一步是后台事件,而第二步是前台事件。
知道这两者的区别后,那么如果我们在一个按钮上同时写了前台与后台事件,那么会是什么一个执行顺序呢?
前台事件总是后台事件之前执行,也就是说,我们在点击一个按钮时,如果这个按钮上有clientclick事件,总是会先执行clientclick事件,再执行click事件。如果我们在clientclick事件中有写return false;那么,clientclick事件就会中止向服务发送请求,也就是不再执行click事件了?
以上为个人理解,如果有不对或者不全面的地方,希望大家在评论中指出。p