Ketika sejumlah besar halaman memanggil hasil tampilan yang sama, kita dapat merangkum konten yang sama ke dalam komponen tampilan, tentu saja, kita juga dapat meneruskan parameter ke komponen tampilan dan mengembalikan hasil respons, skenario: papan peringkat, formulir, tabel, dll., Artikel ini menggunakan inti asp.net 3.1 untuk menjelaskan cara menggunakan tutorial komponen tampilan ViewComponent.
Lihat komponen
Komponen View mirip dengan tampilan lokal, tetapi lebih kuat. Komponen tampilan tidak menggunakan pengikatan model, tetapi hanya mengandalkan data yang disediakan saat model dipanggil. Artikel ini ditulis menggunakan pengontrol dan tampilan, tetapi komponen tampilan juga dapat digunakan dengan Razor Pages.
Lihat Komponen:
- Render blok, bukan seluruh respons.
- Mencakup pemisahan kekhawatiran dan manfaat pengujian yang sama yang ditemukan antara pengontrol dan tampilan.
- Itu dapat memiliki parameter dan logika bisnis.
- Biasanya dipanggil dari halaman tata letak.
Komponen tampilan dapat digunakan di mana saja Anda memiliki logika rendering yang dapat digunakan kembali yang terlalu kompleks untuk tampilan lokal, seperti:
- Menu navigasi dinamis
- Tag cloud (tempat database dikueri)
- Panel login
- Keranjang belanja
- Artikel yang baru-baru ini diterbitkan
- Konten sidebar di blog biasa
- Panel login akan muncul di setiap halaman dengan tautan untuk keluar atau login, tergantung pada status login pengguna
Tampilan parsial
Di asp.net MVC 5 kita dapat menggunakan tampilan lokal dengan kode berikut:
Metode panggilan:
ViewComponent adalah alternatif untuk tampilan lokal.
ViewComponent untuk memulai
Lihat kelas komponen:
- Injeksi dependensi konstruktor didukung penuh
- Tidak terlibat dalam siklus hidup pengontrol, yang berarti Anda tidak dapat menggunakan filter dalam komponen tampilan
- Tanpa basa-basi lagi, mari kita langsung ke titik di mana kita ingin merangkum fungsionalitas komponen dari klasifikasi wilayah perkotaan.
Pertama, buat folder "ViewComponents" baru di bawah direktori proyek dan buat file kelas "RootClassification.cs" baru dengan kode berikut:
Pada halaman tampilan, kita membuat folder "Komponen" baru di bawah folder "/Views/Shared" proyek, lalu membuat folder "RootClassification" baru (ini adalah objek dengan kelas komponen baru yang kita buat), dan kemudian membuat file "Default.cshtml" baru, kodenya adalah sebagai berikut:
Strukturnya adalah sebagai berikut:
Jalur terperincinya adalah: /Views/Shared/Components/RootClassification/Default.cshtml
Mengapa membangun jalan seperti itu? Ini berkaitan dengan cara kerja komponen asp.net Core.
Runtime mencari tampilan di jalur berikut:
/Views/{Controller Name}/Components/{View Component Name}/{View Name}
/Views/Shared/Components/{View Component Name}/{View Name}
/Pages/Shared/Components/{View Component Name}/{View Name} Nama tampilan default untuk komponen tampilan adalah Default, yang berarti bahwa file tampilan Anda biasanya akan bernama Default.cshtml. Saat membuat hasil komponen tampilan atau memanggil metode Tampilan, Anda dapat menentukan nama tampilan yang berbeda.
Memanggil, kita dapat memanggil di mana kita perlu menggunakan komponen, kodenya adalah sebagai berikut:
Jalankan ulang proyek dengan rendering berikut:
|