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:LinkButtonhatta 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.