| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5345 人关注过本帖
标题:[原创]利用继承制作防止重复提交按钮
只看楼主 加入收藏
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
结帖率:100%
收藏
 问题点数:0 回复次数:12 
[原创]利用继承制作防止重复提交按钮
我们浏览很多论坛发表帖子时,单击“发表”按钮,这个按钮就会变成灰色,并且还有提示如“正在提交,请稍候...”等,这样做一方面让用户看到效果,避免长时间等待网页的烦躁,另一方面又防止了重复提交。

在.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方法。

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

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

希望大家能够从中受益。

[此贴子已经被作者于2006-9-3 22:32:26编辑过]

搜索更多相关主题的帖子: 按钮 继承 制作 
2006-09-02 16:47
caiyakang
Rank: 2
等 级:新手上路
威 望:5
帖 子:2111
专家分:0
注 册:2005-3-24
收藏
得分:0 
不错~~顶一下~

中国人的财富网:http://www..cn/
2006-09-02 18:06
mylover624
Rank: 1
来 自:乖乖的心中
等 级:新手上路
帖 子:868
专家分:0
注 册:2006-7-6
收藏
得分:0 
好东西啊.^_^.

一个天才顶不上十个笨蛋!
书山有路勤为径,学海无涯友相伴。
我的E-mail:mylover624@.cn
2006-09-02 18:25
IPV6
Rank: 1
等 级:新手上路
威 望:2
帖 子:265
专家分:0
注 册:2006-9-7
收藏
得分:0 
写的太好了

2007-04-15 15:23
By1782
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-8-8
收藏
得分:0 
小弟不明白怎么做啊
看了半天还是不懂
哪位高手解释一下呀

不胜感激
2007-08-21 23:46
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 

属于自定义控件,你需要自建一个类,然后按楼主所说,继承那个button类,然后把他写的东西放进去。
这就相当于你自建了一个按钮控件。然后,把这个拖到页面上就可以用了。


日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-08-22 12:38
川流不息
Rank: 6Rank: 6
等 级:贵宾
威 望:27
帖 子:2000
专家分:47
注 册:2006-11-8
收藏
得分:0 
需要编译产生dll,然后在工具椄上去添加它。

日月更替,天地輪回,人間已是幾回春。 江山不老,人正少年,只手能擎半邊天。
2007-08-22 12:39
冰彩虹
Rank: 4
来 自:上海
等 级:贵宾
威 望:14
帖 子:806
专家分:44
注 册:2007-6-28
收藏
得分:0 
不错,顶起

Flying without wings
2007-08-22 20:12
By1782
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2007-8-8
收藏
得分:0 

还是不太明白啊,试了几次都没有成功,
可能我那里理解错了,但是我还是不清楚,
具体怎么做(步骤)
版主再指点一下小弟吧
跪谢了呀

2007-08-23 22:44
zmfttkl
Rank: 1
等 级:新手上路
帖 子:148
专家分:0
注 册:2007-7-1
收藏
得分:0 
顶!支持!

2007-12-29 17:31
快速回复:[原创]利用继承制作防止重复提交按钮
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016038 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved