0

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;
    }
}
4

3 に答える 3

0

本当にやりたいことは、TextBox を有効にして、ReadOnly プロパティを true に設定することだと思います。

無効になっている TextBox のテキストの色を変更するのは少し難しいです。おそらく、OnPaint イベントをサブクラス化してオーバーライドする必要があると思います。

于 2012-07-12T13:42:54.713 に答える
0

HyperLink の CssClass プロパティで ForeColor を設定できます

于 2012-07-12T13:43:36.053 に答える
0

ForeColor を設定する代わりにリンクにa を追加し、classCSS を使用して無効なリンクのスタイルを設定します。

hyperlink.CssClass = "disabledLink";

次にCSSで:

.disabledLink {
  color: #000 !important;
}
于 2012-07-12T13:43:58.277 に答える