Apa nama resmi untuk tag ASP.NET "khusus" seperti ini:
<%# %>
<%= %>
<%@ %>
<%$ %>
Saya tidak dapat menemukan nama konseptual atau terkenal untuk ini, jadi saya kesulitan mencari info lebih lanjut. Sebagai bonus, adakah yang bisa memberi saya rundown cepat dari semua "tag khusus" yang mungkin dan apa yang masing-masing dari mereka lakukan (atau arahkan saya ke sumber daya)?
Jawaban:
Nama resmi adalah " pembatas skrip sisi server " atau " ASP.NET inline expressions ". Dialog pengaturan penyorotan sintaksis Visual Studio 2008 menyebut ini "HTML Server-Side Script". Orang-orang Microsoft menyebutnya "kode nugget" di blog mereka.
<%@ %>
adalah Arahan untuk Halaman Web ASP.NET . Digunakan untuk halaman dan kontrol untuk mengonfigurasi pengaturan kompiler halaman / kontrol (<%@ Control Inherits="MyParentControl" %>
).<%@ %>
juga merupakan Petunjuk Aplikasi . Digunakan untuk menentukan pengaturan khusus aplikasi untuk global.asax. Berbeda dari arahan halaman karena hanya menggunakan set tag yang berbeda.<% %>
adalah Blok Render Kode (untuk kode sebaris) . Salah satu dari 4 bentuk Blok Kode Tertanam . Digunakan untuk penyertaan kode sisi server keRender()
metode (<% x = x + 1; %>
) dari kelas yang dihasilkan. Format: tunggal / multiline atau banyak tautan (mis.if/then/else
Diselingi dengan html) tetapi tidak dapat digunakan untuk mendeklarasikan fungsi.<%= %>
adalah Blok Render Kode (untuk ekspresi sebaris) . Digunakan sebagai singkatan untuk<%Response.Write(value)%>
<%: %>
(secara tidak resmi " Blok Kode Pengodean Html ") sama dengan sebelumnya, tetapi hasilnya adalah HTML yang dikodekan.<%# %>
adalah Ekspresi Pengikatan Data . Digunakan untuk satu arah (readonly) atau dua arah (diupdate) yang mengikat melaluiEval
,Xpath
,Bind
, atau ekspresi (misalnya nilai yang dipilih dari kontrol drop-down). Mengikat ekspresi ke properti kontrol terikat data melalui markup atribut kontrol, atau sebagai tag terpisah yang menghasilkanDataBoundLiteralControl
instance dengan nilai padaText
propertinya. Ekspresi dievaluasi olehDataBinding
pengendali acara untuk kontrol.<%#: %>
adalah Ekspresi Binding Data Dikodekan HTML (baru dalam ASP.NET 4.5). Ini menggabungkan fungsi<%# %>
dan<%: %>
.<%$ %>
adalah ekspresi ASP.NET . Digunakan untuk pengikatan ekspresi runtime untuk properti kontrol melalui atribut tag server. Digunakan denganAppSettings
,,ConnectionStrings
atauResources
(atau ekstensi kustom Anda sendiri , misalnya untuk menggunakan properti di belakang kode). Tugas-tugas ini ditambahkan keOnInit()
metode kelas yang dihasilkan.<%-- --%>
adalah Komentar Sisi-Server . Digunakan untuk mengecualikan konten dari kompilasi (dan juga akan menghasilkan kesalahan jika kontrol berkomentar disebut dalam kode-belakang). Tidak seperti komentar html, konten tidak akan dimasukkan dalam output.<!-- #Include ... -->
adalah Petunjuk Sertakan Sisi Server . Digunakan untuk menyisipkan konten file ke halaman, kontrol atau file global. Berguna di mana kontrol pengguna berlebihan, dan halaman master tidak dapat digunakan.Ada juga a Blok Deklarasi Kode , formulir Blok Kode Embedded final.
Ini digunakan untuk menyertakan anggota tambahan (metode dll.) Ke kelas yang dihasilkan dari markup ASP.NET. Ini hanya pernah diberikan "terutama untuk menjaga kompatibilitas dengan teknologi ASP yang lebih lama" dan tidak direkomendasikan untuk digunakan.
sumber
Tidak ada jawaban untuk pertanyaan nama Anda, tetapi halaman "ASP.NET Page Syntax" MSDN cukup bagus (atau lebih tepatnya, itu adalah halaman tingkat atas; halaman di bawahnya memberikan informasi lebih lanjut).
EDIT: Saya sebelumnya berpikir bahwa
<%# ... %>
itu tidak termasuk dalam daftar, tapi tentu saja, di bawah Ekspresi Binding Data. Doh.sumber
Saya selalu menemukan halaman QuickStart ini sangat berguna, setiap kali saya ragu tentang sintaks sisi-Server. Ini merinci 8 gaya markup yang berbeda dan memberikan contoh ilustrasi masing-masing, di samping menjelaskan pro dan kontra.
Itu tidak menyebutkan arahan tingkat halaman, yang IIRC dirinci di tempat lain di Quickstart.
Tentu saja, ini relevan dengan ASP.NET 2.0.
sumber
Orang-orang Microsoft kadang-kadang menyebutnya "nugget" atau "nugget kode".
sumber
Saya juga pernah mendengar ini disebut "sengatan V," termasuk di StackOverflow Podcast.
sumber