Enabled 按钮变灰 怎样使其点击不触发事件

问题描述

如题LinkButton已绑定点击事件根据条件想让按钮变灰并不能点击触发事件Enabled后该怎么实现?网上找找都是要点击触发的也是醉啦求大神指导本人新手。。。。。。。。急求!!!

解决方案

解决方案二:
enabled=false不就不能点了
解决方案三:
满足条件的就直接将LinkButton的enabled赋值为false就OK了
解决方案四:
你的描述清楚点,如果仅仅是已经设定了点击事件,然后按条件设置了Enable=false后,点击已经不会触发后台事件如果是js控制变灰,而不是enable=false,那你可以设置html的属性disabled=disabled
解决方案五:
引用2楼Lucky_502的回复:

满足条件的就直接将LinkButton的enabled赋值为false就OK了

那样在该按钮上凭空按还是会触发事件我弄得是弹出框依旧弹出啦
解决方案六:
引用3楼starfd的回复:

你的描述清楚点,如果仅仅是已经设定了点击事件,然后按条件设置了Enable=false后,点击已经不会触发后台事件如果是js控制变灰,而不是enable=false,那你可以设置html的属性disabled=disabled

protectedvoidgv1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){LinkButtonlb1=(LinkButton)e.Row.FindControl("LinkButton1");lb1.OnClientClick="OpenDiv('');returnfalse;";if(e.Row.Cells[].Text==""){lb1.Visible=false;}}}按钮是已经变灰但在页面上点还是会弹出框
解决方案七:
lb1.OnClientClick="OpenDiv('');returnfalse;";改成if(lb1.Enable){lb1.OnClientClick="OpenDiv('');returnfalse;";}试试
解决方案八:
引用5楼jessyjq的回复:

Quote: 引用3楼starfd的回复:
你的描述清楚点,如果仅仅是已经设定了点击事件,然后按条件设置了Enable=false后,点击已经不会触发后台事件如果是js控制变灰,而不是enable=false,那你可以设置html的属性disabled=disabled

protectedvoidgv1_RowDataBound(objectsender,GridViewRowEventArgse){if(e.Row.RowType==DataControlRowType.DataRow){LinkButtonlb1=(LinkButton)e.Row.FindControl("LinkButton1");lb1.OnClientClick="OpenDiv('');returnfalse;";if(e.Row.Cells[].Text==""){lb1.Visible=false;}}}按钮是已经变灰但在页面上点还是会弹出框

是lb1.Enabled=false;
解决方案:
你这样写法就算enable=true,貌似也不会回发执行后台代码吧?因为你执行了js的OpenDiv('');returnfalse;然后你的框是OpenDiv('')弹出的吧,如果不想改js代码,那么你的判断要改下LinkButtonlb1=(LinkButton)e.Row.FindControl("LinkButton1");if(e.Row.Cells[].Text==""){lb1.Enable=false;}else{lb1.OnClientClick="OpenDiv('');returnfalse;";}

解决方案:
我明白你的意思!!因为你Enabled的只是后台的事件,对于javascript事件它依旧可以响应是吧!!这个问题曾经也困扰我一段时间!!我的解决方法是这样的!!注意我的HTML代码HTMLCode<asp:LinkButtonID="LinkDataDelete"runat="server"Text="返还确认"PostBackUrl='<%#String.Format("~/Asp_Forms/frm_MachineTakeOut_Detail.aspx?Guid={0}&Opr={1}",Eval("Guid"),"C")%>'onclick="LcmdDataDelete_Click"></asp:LinkButton>

这是在GridView中的一个LinkButton,可以看到我的这个控件并没有onClientClick事件!!因为我把这个事件注册在后台!!C#Code((LinkButton)e.Row.FindControl("LinkDataDelete")).Attributes.Add("onclick","javascript:returnconfirm('您是否对此设备进行返还确认?')");

也就是说后台判断条件,条件成立的就为LinkButton注册一个前台事件!!如果条件不成立就不注册!!这样的话就能避免你说的这个问题了!!
解决方案:
引用9楼cxzzwb的回复:

我明白你的意思!!因为你Enabled的只是后台的事件,对于javascript事件它依旧可以响应是吧!!这个问题曾经也困扰我一段时间!!我的解决方法是这样的!!注意我的HTML代码HTMLCode<asp:LinkButtonID="LinkDataDelete"runat="server"Text="返还确认"PostBackUrl='<%#String.Format("~/Asp_Forms/frm_MachineTakeOut_Detail.aspx?Guid={0}&Opr={1}",Eval("Guid"),"C")%>'onclick="LcmdDataDelete_Click"></asp:LinkButton>

这是在GridView中的一个LinkButton,可以看到我的这个控件并没有onClientClick事件!!因为我把这个事件注册在后台!!C#Code((LinkButton)e.Row.FindControl("LinkDataDelete")).Attributes.Add("onclick","javascript:returnconfirm('您是否对此设备进行返还确认?')");

也就是说后台判断条件,条件成立的就为LinkButton注册一个前台事件!!如果条件不成立就不注册!!这样的话就能避免你说的这个问题了!!

感谢大神解决了我的疑惑
解决方案:

解决方案:
引用10楼jessyjq的回复:

Quote: 引用9楼cxzzwb的回复:
我明白你的意思!!因为你Enabled的只是后台的事件,对于javascript事件它依旧可以响应是吧!!这个问题曾经也困扰我一段时间!!我的解决方法是这样的!!注意我的HTML代码HTMLCode<asp:LinkButtonID="LinkDataDelete"runat="server"Text="返还确认"PostBackUrl='<%#String.Format("~/Asp_Forms/frm_MachineTakeOut_Detail.aspx?Guid={0}&Opr={1}",Eval("Guid"),"C")%>'onclick="LcmdDataDelete_Click"></asp:LinkButton>

这是在GridView中的一个LinkButton,可以看到我的这个控件并没有onClientClick事件!!因为我把这个事件注册在后台!!C#Code((LinkButton)e.Row.FindControl("LinkDataDelete")).Attributes.Add("onclick","javascript:returnconfirm('您是否对此设备进行返还确认?')");

也就是说后台判断条件,条件成立的就为LinkButton注册一个前台事件!!如果条件不成立就不注册!!这样的话就能避免你说的这个问题了!!

感谢大神解决了我的疑惑

当初我也一直在烦躁这个事呢

时间: 2024-10-26 10:51:21

Enabled 按钮变灰 怎样使其点击不触发事件的相关文章

getview-在listview中,在点击某行按钮后,按钮变灰。其它的行的按钮也变灰了。

问题描述 在listview中,在点击某行按钮后,按钮变灰.其它的行的按钮也变灰了. 在listview中,每行显示一个图片.一个按钮及说明文字,在点击某行按钮后,按钮变灰.但是发现点击某行的按钮后,在滑动界面时,发现其它的行的按钮也变灰了.请问这是什么问题? 下面是listview中getView方法代码: @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHo

asp.net 点击按钮提交后使按钮变灰不可用_实用技巧

.aspx 复制代码 代码如下: <script language="javascript"> function abc() { var mybutton=document.getElementById("Submit1"); mybutton.disabled=true; //变灰 __doPostBack("Submit1",""); //执行服务器端Submit1的click事件 } </script&

按钮在执行frame动画的时候怎么响应触发事件?

按钮在执行frame动画的时候怎么响应触发事件? 代码中效果(请注意,我并没有点击到按钮,而是点击到按钮的终点frame值处): 对应的代码: // // ViewController.m // TapButton // // Created by YouXianMing on 14/12/7. // Copyright (c) 2014年 YouXianMing. All rights reserved. // #import "ViewController.h" @interfac

botton点击后按钮变灰禁用

问题描述 <scriptlanguage="javascript"type="text/javascript">functiontest(){document.getElementById("Button1").disabled=true;document.getElementById("Button2").click();}</script><inputid="Button1"

如何将TabControl控件中的页面切换按钮变灰不可用

问题描述 解决方案 解决方案二:在SelectedIndexChanged事件判断当前SelectedIndex的值,不符合条件就赋值为其它值.比如,if(tabControl1.SelectedIndex==1){tabControl1.SelectedIndex=2;}

JavaScript实现点击按钮后变灰避免多次重复提交

注册的时候需要发送验证激活帐号的邮件,为了避免邮件的多次重复发送,所以可以在点击了发送后,设置button要过一段时间才能继续点击.下面是一个简单的例子: 复制代码 代码如下: <html> <head> <title>点击获取验证码按钮后按钮变灰,倒计时一段时间后又可重复点击</title> </head> <body> <input type="button" id="btn" val

jquery点击按钮后变灰实现程序代码

下面是我以前用的一个js倒计时的效果,也是点击之后60秒之内不可再点击效果.  代码如下 复制代码 <html> <head> <title>点击获取验证码按钮后按钮变灰,倒计时一段时间后又可重复点击</title> </head> <body> <input type="button" id="btn" value="免费获取验证码" /> <script

JavaScript实现点击按钮后变灰避免多次重复提交_javascript技巧

注册的时候需要发送验证激活帐号的邮件,为了避免邮件的多次重复发送,所以可以在点击了发送后,设置button要过一段时间才能继续点击.下面是一个简单的例子: 复制代码 代码如下: <html> <head> <title>点击获取验证码按钮后按钮变灰,倒计时一段时间后又可重复点击</title> </head> <body> <input type="button" id="btn" val

js中表单提交后按钮变灰色的功能

在点击"Submit按钮"之后,将Submit设置为Disable,使按钮变灰不可用,具体的做法如下: 1.先在Form里加入:  代码如下 复制代码 onSubmit="submitonce(this)" 2.再在"Submit按钮"之前加入下面的代码:  代码如下 复制代码 <html> <head> <meta http-equiv="Content-Type" content="