2010-08-25 34 views
8

एएसपी.नेट एमवीसी 2 <%: टैग एचटीएमएल हेल्पर्स के लिए <%= को प्रतिस्थापित करने के लिए पेश किया गया था। लेकिन इसका क्या अर्थ है और पिछले के लिए क्या अंतर है? मैं <%= और <%: का उपयोग कब करूं?<% "का अर्थ क्या है: <% = और <% = में क्या अंतर है?

धन्यवाद

उत्तर

14

ASP.NET 4 में <%: xyz %> वाक्य रचना एक ही बात करेंगे के रूप में <%= Server.HtmlEncode(xyz) %> पिछले संस्करणों में किया था के समान है। यह केवल एक शॉर्टकट है क्योंकि इसका उपयोग अक्सर किया जाता है।

जैसा कि रिचर्ड नीचे बताता है, यह यह भी निर्धारित कर सकता है कि IHtmlString इंटरफ़ेस लागू करने के आधार पर स्ट्रिंग को एन्कोड करने की आवश्यकता नहीं है या नहीं।

+2

यह एचटीएमएल एनकोड से बचने के लिए भी प्रदान करता है यदि अभिव्यक्ति का प्रकार 'IHtmlString' इंटरफ़ेस लागू करता है - ऐसे प्रकार जो उनके स्वयं के एन्कोडिंग करते हैं उन्हें विशेष उपचार की आवश्यकता नहीं होती है। – Richard

8

IIRC, <%: हो जाता है ताकि आप इसे अपने आप को क्या करने की जरूरत नहीं है HTML एन्कोडिंग प्रदान करता है।

Scott Guthrie's blog post से

:

ASP.NET 4 हम एक नए कोड अभिव्यक्ति वाक्य रचना ( <%: %>) कि renders शुरू कर रहे हैं के साथ

<%= %> ब्लॉक तरह उत्पादन करते हैं - लेकिन जो भी स्वचालित रूप से HTML करने से पहले वह कूटबद्ध इसलिए।

ब्लॉग पोस्ट को और अधिक विस्तार के लिए पढ़ें।

3

<% = सीधे मूल्य को इंजेक्ट करता है जबकि <%: स्वचालित रूप से आपके लिए सभी डरावनी विशेष पात्रों से बच निकलता है।

दूसरे शब्दों में,

<%: myString %>

<%= Server.HtmlEncode(myString) %>

संबंधित मुद्दे