按钮已禁用但看起来很活跃

Posted

技术标签:

【中文标题】按钮已禁用但看起来很活跃【英文标题】:Button disabled but looks active 【发布时间】:2012-10-09 02:30:20 【问题描述】:

所以我有一个当前设置为禁用的按钮,在 IE 中它是灰色的,但在 Firefox、Chrome 和 Safari 中,它被禁用但看起来仍然处于活动状态。

按钮代码

<tr valign="middle">
    <td colspan="2" style="width: 100%">
        <asp:Button ID="DownloadButton" runat="server" Text="Download" Width="85px" CssClass="ESTableHeaderL" OnClick="DownloadButton_Click" />
    </td>      
  </tr> 

还有我的代码

protected void DownloadButton_Click(object sender, EventArgs e)
        
    if (ddBusinessMonth.Items.Count == 0)
    
        DownloadButton.Enabled = false;
        ShowClientMessageBox("No Data found for downloading");
    
....


有什么办法可以让它看起来和 IE 中的一样吗?

谢谢

【问题讨论】:

允许禁用它,但在浏览器中它不会变灰 每个浏览器都有自己的默认样式。但是,您可以强制执行您自己的风格。为此,您必须创建自定义 CSS 类并随意应用它们 ESTableHeaderL 的 CSS 是什么?这可能会导致问题,因为每个浏览器都有一些禁用按钮的默认样式。可能你以某种方式重新定义了它 【参考方案1】:

无需使用自定义 CSS 类(不反对样式表)的快速方法,可以在后面的代码中完成。以下会将您的下载按钮的背景颜色设置为绿色(我认为它是绿色的,我是色盲 :-| ):

DownloadButton.Attributes.Add("style", "background-color:#28C523");

【讨论】:

【参考方案2】:

Framerwork 4 以不同的方式呈现控件。将以下内容添加到您的 we.config 中,禁用的按钮将照常变灰。

<pages controlRenderingCompatibilityVersion="3.5"/>

【讨论】:

我的web.config已经有这个配置了,但是disabled的按钮还是看不出来。【参考方案3】:

:disabled selector 可以与 CSS3 一起使用

input[type="button"]:disabled

background:#dddddd;

浏览器兼容性:

 IE8+ FF1.5+ SA3.1+ OP9.2+ CH2+

对于 ASP.NET:

为您的服务器端按钮添加一个 CssClass 属性,并将其引用到包含上述 CSS 的类。

【讨论】:

可能还想添加input[type="submit"]:disabled 请原谅我的无知,但是如何将样式应用于 asp.net 中的对象 将 CssClass 属性添加到您的服务器端按钮,并将其引用到包含上述 CSS 的类。 很好的解决方案,但不幸的是示例样式的选择,因为(至少对我来说,在 Google Chrome 49 上)它实际上并没有改变按钮的外观。我建议使用color: #ccc;,它会使按钮的文本变灰。【参考方案4】:

如果 css 类被禁用,您可以通过编程方式分配它

if (ddBusinessMonth.Items.Count == 0)
    
        DownloadButton.Enabled = false;
        DownloadButton.CssClass = "disabledbutton";
        ShowClientMessageBox("No Data found for downloading");
    

css

.disabledbutton
    background-color:#ddd;

【讨论】:

我可以在客户端做。我在表格中有很多按钮,实际上按钮在禁用状态下工作,但在视觉上它们已启用,即 9 禁用禁用,ie11 启用。我知道按钮的 id 。反正有没有从 css 做的只是不想使用代码隐藏

以上是关于按钮已禁用但看起来很活跃的主要内容,如果未能解决你的问题,请参考以下文章

如何修改 vb.net 中禁用按钮的外观?

jquery-ui 按钮看起来已禁用

UIDocumentPickerViewController 按钮看起来被禁用但可以工作——为啥?

我如何知道 SwiftUI 按钮是不是已启用/禁用?

使用 jquery 切换 LinkBut​​ton 的启用/禁用状态

发布数据库生成脚本按钮已禁用