ホームページ >バックエンド開発 >C++ >GridView の TemplateField 内でコントロールを見つけて使用する方法

GridView の TemplateField 内でコントロールを見つけて使用する方法

DDD
DDDオリジナル
2024-12-31 10:51:10984ブラウズ

How to Find and Use Controls within a GridView's TemplateField?

GridView の TemplateField でコントロールを検索する方法

GridView の TemplateField 内でコントロールを検索するには、FindControl() を使用します。 method.

Scenario

この例では、HyperLink を含む TemplateField を持つ GridView があります。タスクは、分離コードを使用して HyperLink にアクセスし、操作することです。

解決策

次のコードは、GridView の RowDataBound イベントで HyperLink コントロールにアクセスする方法を示しています。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        HyperLink myHyperLink = e.Row.FindControl("myHyperLinkID") as HyperLink;
    }
}

詳細説明

  1. GridView1_RowDataBound: これは、GridView の RowDataBound イベントのイベント ハンドラーです。これは、GridView 内のデータ行ごとにトリガーされます。
  2. FindControl: このメソッドは、TemplateField 内で HyperLink コントロールを検索するために使用されます。構文は e.Row.FindControl(controlID) です。controlID は、検索するコントロールの ID です。
  3. As HyperLink: FindControl メソッドは、Control 型のオブジェクトを返します。次に、アクセスしたい特定のタイプのコントロール (この場合は HyperLink) にそれをキャストできます。

使用法

HyperLink コントロールへの参照を取得したら、必要に応じて、プロパティを設定したり、イベントを処理したり、その他の操作を実行したりできます。たとえば、NavigateUrl プロパティを設定して、リンクをクリックしたときに移動する URL を指定できます。

HyperLink myHyperLink = e.Row.FindControl("myHyperLinkID") as HyperLink;
myHyperLink.NavigateUrl = "http://www.example.com";

備考

FindControl() メソッドは検索のみを行うことに注意してください。現在のデータ行の範囲内。コントロールがネストされた TemplateField にある場合は、FindControlRecursive() メソッドの使用が必要になる場合があります。

以上がGridView の TemplateField 内でコントロールを見つけて使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。