Hem klasik ASP hem de ASP.NET'te programladım ve sunucu tarafı kodu için işaretlemenin içinde farklı etiketler görüyorum.
Son zamanlarda MSDN'de arasındaki farkın üzerinden geçen iyi bir blogla karşılaştım :
<%=
(eşittir işaretiyle birlikte yüzde) ve<%#
(yüzde işareti ve karma / pound / octothorpe)
( <%#
yalnızca veri tabanında değerlendirilir ve render'da <%=
değerlendirilir), ancak şunu da görüyorum:
<%$
(yüzde ve dolar işareti) ve<%@
(yüzde işareti ve sembol).
Ben <%@
montajlar gibi şeyler yükler ve belki <%$
yapılandırma dosyalarından şeyler yükler inanıyorum ? Çok emin değilim.
Herkesin benim için tüm bunları açıklığa kavuşturabileceğini ve muhtemelen benzer bir amacı olan bu kadar çok farklı etiket oluşturmanın neden önemli olduğunu açıklayabileceğini merak ediyordum.
<%#
genellikle ile kullanılır eval
, ancak aşağıdakileri yapmak zorunda değildir: Page.DataBind()
içeren sayfada veya ana sayfasında çalışmanız koşuluyla herhangi bir sunucu tarafı kodunu çalıştırmak için kullanabilirsiniz. Sunucu tarafı kodunu <asp:TextBox
, <asp:LinkButton
hatta a gibi sunucu tarafı kontrollerinin özelliklerine "enjekte etmek" için tek seçeneğiniz bu gibi görünüyor <input runat="server">
.
"<%=" "<%:""<%@" "<%#"
ve beni buraya gönderdi.