如何使得按钮点击之后立即变灰?

darzui 2004-03-23 09:45:45
看到很多网站上都是这样的,点击表单里的按钮后,这个按钮立即就变灰了,这个表单被提交出去之后,用户不能再点这个按钮,请问这在asp.net里如何做到?
...全文
476 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
wxlada 2004-03-23
  • 打赏
  • 举报
回复
如果你又要用验证控件什么的,你可以去虚拟设置无效。做法是在button上盖一个DIV,DIV中的背景放个半透明的图片。开始状态DIV 隐藏
btn.attributes.add("onclick","******"); 这里把DIV显示出来。因为盖住了button所以不能再点。需要再有效的时候,把DIV再隐藏就可以了。

batiraul 2004-03-23
  • 打赏
  • 举报
回复
这问题也困扰过我!
用cs代码的enabled=false在页面提交并返回之前是不会立即有效果的!除非用js。

如果是提交表单,可以在submit按纽事件里写document.all.button1.disabled=true;
如果是ImageButton,在js里设置按纽的width=0

<script language="javascript">
//----------只提交一次(隐藏提交按纽)cmdButton一般是Immagebutton
function submitonce()
{
var cmdButton=document.all.ImageButton1;
if(cmdButton != null)
{
cmdButton.clearAttributes();
cmdButton.width=0;
}
}
if(document.all.ImageButton1!=null)
document.all.ImageButton1.onclick = submitonce;
</script>
</body>
zzl0315 2004-03-23
  • 打赏
  • 举报
回复
不明白你的意思,你的按钮到底要不要提交,要实现什么样的功能呀?
masterlijianfei 2004-03-23
  • 打赏
  • 举报
回复
同意:buttonID.Enabled=false
darzui 2004-03-23
  • 打赏
  • 举报
回复
可能我的问题描述有些不妥,应该是为了防止重复点击,在点击按钮后立即灰掉,而不是提交返回后再灰掉按钮。
crane2002 2004-03-23
  • 打赏
  • 举报
回复
button.enable=false
szhuk 2004-03-23
  • 打赏
  • 举报
回复
button1.Enabled=false
天乐_那由他 2004-03-23
  • 打赏
  • 举报
回复
为你写了一段简单的源码,你测试一下看看是不是你要的效果。
是的话,你可以在添加控件验证之类的,自己琢磨吧~~~~

新建空白文本,把下面源码拷贝上去,另存为扩展名为.aspx的文件,放到你的
虚拟目录下,ok,可以访问测试了。

<%@ Page Language="vb" AutoEventWireup="true"%>
<HTML>
<HEAD>
<title>btn</title>
</HEAD>
<body>
<form runat="server">
<asp:Button id="Button1" runat="server" Text="Button" OnClick="btn_click"></asp:Button>
</form>
</body>
</HTML>
<script runat="server">
sub btn_click(sender as object,e as eventargs)
response.write("我变灰了,不能用了~~但变灰之前还得工作~~~")
button1.enabled="false"
end sub
</script>
mongtze 2004-03-23
  • 打赏
  • 举报
回复
在click 事件中
执行完所有操作以后再
设置 enabled = false;
supergirlly 2004-03-23
  • 打赏
  • 举报
回复
个人认为,最好是用客户端处理,借助JavaScript写,比较快。因为设置AutoPostBack=True,浪费系统资源,再.net下是不提倡的。至于Code,就同“我学习,我存在”一致。
supergirlly 2004-03-23
  • 打赏
  • 举报
回复
1.AutoPostback=True;
2.再Click Event中写上Button1.Enable=False.
oceanh 2004-03-23
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2706/2706001.xml?temp=.1431543
参看最后一个自定义控件
http://expert.csdn.net/Expert/topic/2701/2701472.xml?temp=4.940432E-02
如何参与校验
darzui 2004-03-23
  • 打赏
  • 举报
回复
btn.attributes.add("onclick","this.style.disabled=true");
这样做也会有问题,将导致验证控件无法使用
xiafish 2004-03-23
  • 打赏
  • 举报
回复
private void Button1_Click(object sender, System.EventArgs e)
{
Button1.Enabled =false;
}
darzui 2004-03-23
  • 打赏
  • 举报
回复
bt.enable=false;
我试了,这样做将导致服务器事件处理方法不被调用,也就是说按钮点了之后没反应。这可能是asp.net的一些特殊性,如何解决这个问题?
2002pine 2004-03-23
  • 打赏
  • 举报
回复


在page_load中
btn.attributes.add("onclick","this.style.disabled=true");
sweet12345 2004-03-23
  • 打赏
  • 举报
回复
把按钮的Enabled属性设置为False就可以了
angel961 2004-03-23
  • 打赏
  • 举报
回复
在点击表单里的按钮事件中加上:
button.enable=false;
如果不想让它显示的话还可以加个:
button.visible=false;

giardino 2004-03-23
  • 打赏
  • 举报
回复
button click事件里
button.enable=false;
yjhyn 2004-03-23
  • 打赏
  • 举报
回复
同意!
加载更多回复(2)

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧