最近项目中要用到按钮的特效,但是同时按钮也要执行回传函数,特此留下实现思路。废话少说。
首先,ASP.NET的Button控件解释出来是一系列的脚本和标记,核心的是以个<input>标签,服务器端执行的方法实际是这个标签的onclick事件配合javascript脚本产生的回传。原理说清楚了,说下具体怎么做。
首先用jQuery结合javascript、div等等标签实现某个特效,比如说我是用javascript做的传参和检查,然后用jQuery显示、隐藏div实现的出现提示的特效。
注意,我的方法是在页面上写个函数进行传参和产生返回值,如checkValue(),如果把这些函数再封装的话反而更麻烦,况且这些函数都是小函数,没必要再提取和封装。
函数要返回true或false,原因下面说。
刚刚说过,服务器控件Button回传的原理是页面javascript执行,那么,只要在这个执行的前面加判断就可以了。
具体方法是配置按钮的OnClientClick属性,这个是个属性,string型的,内容要填页面上写的函数checkValue(),这样这个函数会返回一个true或者false,那么这个属性的完整写法是OnClientClick="return checkValue();",千万注意函数后面的\';\',没有会报js错误,这样在最终解释出来的<input>标签的onclick事件中就会在事件的开始先调用属性中的这段函数,如果检查通过则继续,既进行事件回传,否则就会显示些内容,但不回传,这些显示的内容就由jQuery做出特效来显示。
最后,暂不提供代码,因为这些代码还会持续封装,暂只提供下思路。