2012-07-12 71 views
0

Gridview RowDataBound我禁用基于其值的超链接。但超链接文本变灰。
我想更改禁用超链接的前景色,以便我可以轻松地阅读文本。如何改变gridview中禁用的超链接颜色?

我试着如下所述。

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; 
    } 
} 
+0

可能是重复的[上不同的值更改单元格颜色 - 的GridView] [1] [1]:HTTP://计算器.com/questions/4427848/change-cell-color-on-different-values-gridview – Ram 2012-07-12 13:54:06

回答

0

设置前景色我想说添加class的链接,而不是设置前景色和使用CSS样式残疾人链接。

hyperlink.CssClass = "disabledLink"; 

然后在CSS:

.disabledLink { 
    color: #000 !important; 
} 
+0

我按照你的说法试过,但它没有解决我的问题。它仍然变灰。我认为我们不能将css类添加到禁用的超链接。 – Ranjith 2012-07-12 14:12:06

+0

是的,你可以添加一个CSS类到一个禁用的“HyperLink”。它可能会变灰,因为.net放置了一个css类'aspNetDisabled',你的样式可能会自定义。我向CSS添加了'!important',因此它覆盖了当前的样式。 – Candide 2012-07-12 14:35:40

0

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

更改禁用文本框中文本的颜色有点棘手。我想你可能不得不继承和重写OnPaint事件。

0

您可以通过超链接

的CssClass属性