asp.net的按钮.为按钮使用属性添加的方法添加了一个onclick属性,然后又在这个按钮上添加了click事件!问题:
为什么通过属性添加的点击事件执行在前,而我写的自身click事件在后执行!也就是说:我这里就是执行了test()方法然后再执行btnFile_Click()方法.描叙如下...
为什么通过属性添加的点击事件执行在前,而我写的自身click事件在后执行!
也就是说:我这里就是执行了test()方法然后再执行btnFile_Click()方法.描叙如下:
属性添加方法:btnFile.Attributes.Add("onclick","test()");
click事件:protected void btnFile_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('我是自身click事件')</script>");
} 展开
也就是说:我这里就是执行了test()方法然后再执行btnFile_Click()方法.描叙如下:
属性添加方法:btnFile.Attributes.Add("onclick","test()");
click事件:protected void btnFile_Click(object sender, EventArgs e)
{
Response.Write("<script>alert('我是自身click事件')</script>");
} 展开
2个回答
展开全部
asp.net 的服务器端按钮是可以绑定2个单击事件的
首先你通过Attributes注册了一个客户端的事件 test()
在触发了单击时,首先会先触发客户端的单击事件(即先执行test()),一般我们在用的时候,是先用客户端的事件来验证当前提交的数据是否合法,也就是test()中所要处理了逻辑,如果合法那么就用 return true;的方式提交,此时就会触发服务器端的btnFile_Click来执行服务器端的逻辑代码。如果不合法那么就return false 则不会触发服务器端的btnFile_Click事件。
希望对你有用
首先你通过Attributes注册了一个客户端的事件 test()
在触发了单击时,首先会先触发客户端的单击事件(即先执行test()),一般我们在用的时候,是先用客户端的事件来验证当前提交的数据是否合法,也就是test()中所要处理了逻辑,如果合法那么就用 return true;的方式提交,此时就会触发服务器端的btnFile_Click来执行服务器端的逻辑代码。如果不合法那么就return false 则不会触发服务器端的btnFile_Click事件。
希望对你有用
追问
谢了?2个!刚才我看你说的,我又在这个按钮上添加了一个OnclienClick属性,属性值是:if(confirm('调用后台btnDel_Click事件,确定继续吗?')){return true;}else{return false;}也就是说这个按钮现在有添加属性的方式添加了一个点击事件,然后我又写了它本身的clic事件,现在我又写了一个客户端的点击事件OnclienClick共三个!现在发现运行的只有,OnclienClick和本身的protected void btnFile_Click,这是怎么回事?
追答
其实你使用OnclienClick 或者Attributes注册,都是一样的意思,都是向客户端注册客户端单击事件,其执行顺序都是不一样的,使用Attributes注册后在使用OnclienClick 将会逐一覆盖,在开发时,用哪个都可以,只要你顺手就好,我一般会用OnclienClick ,看个人吧,希望对你有帮助
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询