您现在的位置: 天下网吧 >> 网吧天地 >> 天下码农 >> 微信小程序 >> 正文

利用继承制作防止重复提交按钮

2011-1-9vczx佚名

  我们浏览很多论坛发表帖子时,单击“发表”按钮,这个按钮就会变成灰色,并且还有提示如“正在提交,请稍候...”等,这样做一方面让用户看到效果,避免长时间等待网页的烦躁,另一方面又防止了重复提交。

  在.NET中没有类似的功能,不过我们已经知道他就是一个普通按钮的基础上多加了一个功能而以。在.NET中,我们可以巧妙利用类的继承来制作这种按钮。
这里我是用C#语言作为范例,其他语言可以举一反三得到应用,这里不再赘述。

  我们需要自己写一个类,这个类继承自System.Web.UI.WebControl.Button:

public class ClickOnceButton : System.Web.UI.WebControl.Button


  我们知道要实现这种功能需要借助JS脚本,.NET的控件提供了一个Attributes属性用来添加任何想要的客户端属性。我们需要在客户端的onclick中写入:this.disabled=true,来达到使按钮变灰,另外,再用一句:this.value="正在提交,请稍候...",来使的按钮的文字改变。
把插入脚本这一动作放在了控件加载的时候进行。因此,我们重写OnLoad方法:

        protected override void OnLoad(EventArgs e)
        {
            this.Attributes.Add("onclick","this.disabled=true;this.value=\"正在提交,请稍候...\"");
            base.OnLoad (e);
        }


  上面这句向客户端属性中onclick添加了这些语句。记得重写函数是不要忘记最后要调用基类的OnLoad方法。

  编译,然后就可以在网页上使用了。

  你可以作为一个单独的控件库项目来写这个东西,然后从工具箱上添加上,把他们拖动到网页中,就可使用了。大家还可以扩充一些实用的功能。具体控件的编程美化等等细节此处不再赘述。

  希望大家能够从中受益。

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛 https://bbs.txwb.com

关注天下网吧微信/下载天下网吧APP/天下网吧小程序,一起来超精彩

本文来源:vczx 作者:佚名

声明
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系邮箱:support@txwb.com,系统开号,技术支持,服务联系QQ:1175525021本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧 网吧天下