【问题标题】:How to chage the disabled hyperlink color in gridview?如何在 gridview 中更改禁用的超链接颜色?
【发布时间】:2012-07-12 13:37:52
【问题描述】:

Gridview RowDataBound 中,我根据其值禁用超链接。但是超链接文本是灰色的。
我想更改禁用超链接的前景色,以便我可以轻松阅读文本。

我尝试了如下所述。

protected void gridResult_RowDataBound(object sender, GridViewRowEventArgs e) 
{       
    var hyperlink = e.Row.FindControl( "hlink" ) as HyperLink;
    if( hyperlink!= null && hyperlink.Text =="ABC" )
    {
        hyperlink.ForeColor = Color.Black;
        hyperlink.Enabled = false;
    }
}

【问题讨论】:

标签: c# asp.net gridview rowdatabound


【解决方案1】:

我会说在链接中添加 class 而不是设置 ForeColor 并使用 CSS 设置禁用链接的样式。

hyperlink.CssClass = "disabledLink";

然后在 CSS 中:

.disabledLink {
  color: #000 !important;
}

【讨论】:

  • 我按照你说的试过了,但是没有解决我的问题。它仍然是灰色的。我认为我们不能将 css 类添加到禁用的超链接。
  • 是的,您可以将 css 类添加到已禁用的 HyperLink。它可能是灰色的,因为 .net 放置了一个 css 类 aspNetDisabled,您的样式可能正在自定义。我在 css 中添加了!important,所以它会覆盖当前样式。
【解决方案2】:

我认为您真正想要做的是启用 TextBox 并将 ReadOnly 属性设置为 true。

在禁用的 TextBox 中更改文本的颜色有点棘手。我认为您可能必须继承并覆盖 OnPaint 事件。

【讨论】:

    【解决方案3】:

    可以通过 HyperLink 的 CssClass 属性设置 ForeColor

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-28
      • 1970-01-01
      • 1970-01-01
      • 2015-02-23
      • 2021-05-14
      • 1970-01-01
      • 1970-01-01
      • 2012-08-27
      相关资源
      最近更新 更多