【问题标题】: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 是什么?这可能会导致问题,因为每个浏览器都有一些禁用按钮的默认样式。可能你以某种方式重新定义了它

标签: asp.net html css cross-browser


【解决方案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 做的只是不想使用代码隐藏
    猜你喜欢
    • 2021-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    • 2015-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多