OnClientClick是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在浏览器端运行,一点击就运行;
OnClick是服务器端事件处理方法,在服务器端也就是IIS中运行,点击后,先执行postback,再运行;
OnClientClick常用来做一些客户端的检测。当然也可以放在服务器端检测,但是需要与服务器进行交互,消耗资源,而且用户体验也不好。
当一个控件上同时有OnClick和OnClientClick时,OnClientClick先于OnClick执行。如果OnClientClick事件的返回值为false,则OnClick事件处理程序则不会执行;否则OnClickClick事件处理程序先执行,OnClick事件处理程序后执行。
前台代码:
无标题页
function CheckInput()
{
if( document.getElementById("<%=TextBox1.ClientID%>" ).value =="")
{
alert("标题不能为空!消息来自于前台JavaScript");
return false;
}
else
{
return true;
//执行Button1的click事件处理程序。
}
}
后台代码:
public partial class Test : System.Web.UI.Page
{
public Test()
{
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write("将表单中的数据传递到服务器");
}
}