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

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

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

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

希望大家能够从中受益

以上是版主所说的,我有一些不明.我不知道怎样调用OnLoad方法,我找不到这个方法.我对继承这些很模糊,各位能否帮帮忙,把上面所说的做成一段完整的可执行代码.这样我会看得更明白透彻..谢了
搜索更多相关主题的帖子: 继承 按钮 
2006-10-10 00:43
快速回复:对利用继承做防止重复提交按钮的不解
数据加载中...
 
   



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

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