asp.net HyperLinkFieldにはToolTipプロパティがありません(Altテキスト)

StackOverflow https://stackoverflow.com/questions/803725

  •  03-07-2019
  •  | 
  •  

質問

HyperLinkにはToolTipフィールドがあるので、HyperLinkFieldにToolTipフィールドがあればいいのにと思います。 データソースにバインドする前にコードでHyperLinkFieldを作成しています:

HyperLinkField hl = new HyperLinkField(); 
hl.DataNavigateUrlFields = new string[] { "col" };
hl.DataNavigateUrlFormatString = "{0}";
hl.DataTextField = "Foo";

ツールチップ(または代替テキスト)としてレンダリングする値を設定する方法はありますか? 助けていただければ幸いです。

役に立ちましたか?

解決

それは正しい、 HyperlinkField 。この欠点を回避するには、テンプレートフィールドを使用し、通常のハイパーリンクコントロールを追加する必要があります。

<asp:TemplateField HeaderText="Href">
    <ItemTemplate>
       <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#
          Eval("Href") %>' Text='<%# Eval("Href") %>' ToolTip='<%# Eval("Text")         %>'> 
       </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

ただし、プログラムでこれを行うには多くの作業が必要です。 を実装する独自のクラスを作成する必要があります。 ITemplate インターフェース。以下に チュートリアル があります p>

他のヒント

<asp:HyperlinkField>RowDataBoundイベントでその特定のセルのツールチップを追加することにより、GridView自体で要件を満たすことができます。 GridViewをDataSourceにバインドした後、次のように<=>イベントでこれを実行できます。

if (e.Row.RowType == DataControlRowType.DataRow)
{
    e.Row.Cells[0].ToolTip = "Your tooltip text";
}

別の回答を受け入れましたが、他のユーザーにとっては私の回答が役立つかもしれません!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top