Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mencari dan Menggunakan Kawalan dalam TemplateField GridView?

Bagaimana untuk Mencari dan Menggunakan Kawalan dalam TemplateField GridView?

DDD
DDDasal
2024-12-31 10:51:10984semak imbas

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

Bagaimana untuk Mencari Kawalan dalam TemplateField of GridView?

Mencari kawalan dalam TemplateField GridView boleh dicapai menggunakan kaedah FindControl().

Senario

Dalam contoh ini, kita ada GridView dengan TemplateField yang mengandungi HyperLink. Tugasnya ialah untuk mengakses dan memanipulasi HiperPautan menggunakan kod di belakang.

Penyelesaian

Kod berikut menunjukkan cara untuk mengakses kawalan Hiperpautan dalam acara RowDataBound GridView:

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

Terperinci Penjelasan

  1. GridView1_RowDataBound: Ini ialah pengendali acara untuk acara RowDataBound bagi GridView. Ia dicetuskan untuk setiap baris data dalam GridView.
  2. FindControl: Kaedah ini digunakan untuk mencari kawalan HyperLink dalam TemplateField. Sintaks ialah e.Row.FindControl(controlID) dengan controlID ialah ID kawalan yang anda ingin cari.
  3. Sebagai Pautan Hiper: Kaedah FindControl mengembalikan objek jenis Kawalan. Anda kemudiannya boleh menghantarnya ke jenis kawalan khusus yang ingin anda akses, yang dalam kes ini ialah HiperPautan.

Penggunaan

Sebaik sahaja anda mempunyai rujukan kepada kawalan Hiperpautan, anda boleh menetapkan sifatnya, mengendalikan acara atau melakukan operasi lain mengikut keperluan. Sebagai contoh, anda boleh menetapkan sifat NavigateUrl untuk menentukan URL untuk dinavigasi apabila pautan diklik.

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

Catatan

Adalah penting untuk ambil perhatian bahawa kaedah FindControl() hanya mencari dalam skop baris data semasa. Jika kawalan terletak dalam TemplateField bersarang, anda mungkin perlu menggunakan kaedah FindControlRecursive().

Atas ialah kandungan terperinci Bagaimana untuk Mencari dan Menggunakan Kawalan dalam TemplateField GridView?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn