ASP.NET "विशेष" टैग


232

"विशेष" ASP.NET टैग के लिए आधिकारिक नाम क्या है:

<%# %>
<%= %>
<%@ %>
<%$ %>

मैं इन के लिए वैचारिक या प्रसिद्ध नाम का पता नहीं लगा सकता, इसलिए मुझे अधिक जानकारी की खोज करने में परेशानी हो रही है। एक बोनस के रूप में, क्या कोई मुझे सभी संभावित "विशेष टैग्स" का त्वरित रूप से पता लगा सकता है और उनमें से प्रत्येक क्या करता है (या मुझे एक संसाधन की ओर इशारा करता है)?


1
यदि कोड होता है तो Microsoft उन्हें एंबेडेड कोड ब्लॉक भी कहता है ।
रॉबर्ट हार्वे

जवाबों:


350

आधिकारिक नाम " सर्वर-साइड स्क्रिप्टिंग सीमांकक " या " ASP.NET इनलाइन अभिव्यक्ति " है। दृश्य स्टूडियो 2008 सिंटैक्स हाइलाइटिंग सेटिंग संवाद इन "HTML सर्वर-साइड स्क्रिप्ट" को कॉल करता है। Microsoft लोग उन्हें अपने ब्लॉग में "कोड डला" कहते हैं।

  • <%@ %>ASP.NET वेब पेज के लिए एक निर्देश है । पेज / नियंत्रण संकलक सेटिंग्स ( <%@ Control Inherits="MyParentControl" %>) को कॉन्फ़िगर करने के लिए पृष्ठों और नियंत्रणों के लिए उपयोग किया जाता है ।
    • <%@ %>एक एप्लीकेशन डायरेक्टिव भी है । Global.asax के लिए एप्लिकेशन-विशिष्ट सेटिंग्स निर्दिष्ट करने के लिए उपयोग किया जाता है। पृष्ठ के निर्देशों से अलग यह केवल एक अलग टैग सेट का उपयोग करता है।
  • <% %>एक कोड रेंडर ब्लॉक (इनलाइन कोड के लिए) हैएंबेडेड कोड ब्लॉक के 4 रूपों में से एक । जनरेट किए गए वर्ग की Render()विधि ( <% x = x + 1; %>) के लिए सर्वर-साइड कोड को शामिल करने के लिए उपयोग किया जाता है । प्रारूप: सिंगल / मल्टीलाइन या मल्टीपल-लिंक्ड (जैसे if/then/elsehtml के साथ इंटरसेप्टर) लेकिन फ़ंक्शन घोषित करने के लिए उपयोग नहीं किया जा सकता है।
  • <%= %>एक कोड रेंडर ब्लॉक (इनलाइन अभिव्यक्ति के लिए) है । के लिए एक आशुलिपि के रूप में उपयोग किया जाता है<%Response.Write(value)%>
  • <%: %>(अनौपचारिक रूप से " Html एन्कोडिंग कोड ब्लॉक ") पिछले जैसा ही है, लेकिन आउटपुट HTML एन्कोडेड है।
  • <%# %>एक है डाटा बाध्यकारी अभिव्यक्ति । एक तरह से (रीड-ओनली) या दो-तरफ़ा (अपडेट किए जाने) के माध्यम से बांधने के लिए प्रयोग किया जाता है Eval, Xpath, Bind, या भाव (एक ड्रॉप-डाउन नियंत्रण से जैसे चयनित मान)। नियंत्रण के गुण मार्कअप के माध्यम से डेटा-बाउंड कंट्रोल गुणों के लिए अभिव्यक्ति को बांधता है, या एक अलग टैग के रूप में जो DataBoundLiteralControlअपनी Textसंपत्ति के मूल्य के साथ एक उदाहरण उत्पन्न करता है । DataBindingनियंत्रण के लिए एक घटना हैंडलर द्वारा अभिव्यक्तियों का मूल्यांकन किया जाता है ।
  • <%#: %>एक है एचटीएमएल -एनकोडित डेटा-बाइंडिंग अभिव्यक्ति (ASP.NET 4.5 में नया)। यह की कार्यक्षमता को जोड़ती है <%# %>और <%: %>
  • <%$ %>एक ASP.NET अभिव्यक्ति बिल्डर है । सर्वर टैग विशेषताओं के माध्यम से नियंत्रण गुणों के लिए रनटाइम एक्सप्रेशन बाइंडिंग के लिए उपयोग किया जाता है। के साथ प्रयोग किया AppSettings, ConnectionStringsया Resources(या अपने स्वयं के कस्टम विस्तार , उपयोग गुण कोड-पीछे करने के लिए उदाहरण के लिए)। ये असाइनमेंट OnInit()जनरेट किए गए वर्ग की विधि में जोड़े जाते हैं ।
  • <%-- --%>एक है सर्वर-साइड टिप्पणी । संकलन से सामग्री को बाहर करने के लिए उपयोग किया जाता है (और यदि कोई टिप्पणी-आउट नियंत्रण कोड-पीछे में संदर्भित किया जाता है तो यह त्रुटि उत्पन्न करेगा)। HTML टिप्पणियों के विपरीत सामग्री आउटपुट में शामिल नहीं होगी ।
  • <!-- #Include ... -->एक सर्वर-साइड डायरेक्टिव शामिल है । किसी फ़ाइल की सामग्री को पृष्ठ, नियंत्रण या वैश्विक फ़ाइल में सम्मिलित करने के लिए उपयोग किया जाता है। उपयोगी जहां एक उपयोगकर्ता नियंत्रण ओवरकिल है, और एक मास्टर पृष्ठ का उपयोग नहीं किया जा सकता है।

एक कोड घोषणा ब्लॉक , अंतिम एंबेडेड कोड ब्लॉक फॉर्म भी है।

<script runat="server">
bool IsTrue() {
  return false;
}
</script>

इसका उपयोग ASP.NET मार्कअप से उत्पन्न वर्ग में अतिरिक्त सदस्यों (विधियों आदि) को शामिल करने के लिए किया जाता है। ये केवल कभी-कभी "पुराने एएसपी प्रौद्योगिकी के साथ पिछड़े संगतता को बनाए रखने के लिए" प्रदान किए गए हैं और उपयोग के लिए अनुशंसित नहीं हैं।


1
मेरा मानना ​​है कि वहाँ एक <% $ ...%> है कि appsettings / कनेक्शन तार के खिलाफ databinds।
सिसवे

मैंने ऐसा नहीं सुना है। क्या आपके पास कोई ज़रिया है?
सेदत कपपनोग्लू

3
उन्हें ASP.NET अभिव्यक्तियाँ कहा जाता है। देखें msdn.microsoft.com/en-us/library/d5bd1tad.aspx
elo80ka

7

आपके नाम के प्रश्न का कोई उत्तर नहीं है, लेकिन MSDN "ASP.NET पेज सिंटेक्स" पृष्ठ बहुत अच्छा है (या इसके बजाय, यह शीर्ष स्तर का पृष्ठ है; इसके अंतर्गत पृष्ठ अधिक जानकारी देते हैं)।

संपादित करें: मैंने पहले सोचा था कि <%# ... %>सूची में शामिल नहीं था, लेकिन निश्चित रूप से यह डेटा-बाइंडिंग अभिव्यक्तियों के तहत है। रवींद्र।


यह लिंक वर्तमान में काम नहीं करता है। ऐसा करने से पहले आपको एक .NET फ्रेमवर्क संस्करण का चयन करना होगा।
सैम

1
@ नम: आह, धन्यवाद - मुझे लगता है कि जब किसी कारण से .NET 4.5 बाहर आया था, तो वह सेवानिवृत्त हो गया था। मैंने लिंक संपादित किया है।
जॉन स्कीट

1
मुझे लगा कि जॉन स्कीट वेब विकास नहीं कर रहा था ...!
कोडआर्टिस्ट

6

मैं हमेशा पाया है इस QuickStart पेज बहुत उपयोगी हो सकता है, जब भी मैं सर्वर साइड वाक्य रचना के बारे में संदेह है। यह 8 अलग-अलग मार्कअप शैलियों का विवरण देता है और पेशेवरों और विपक्षों को समझाने के अलावा हर एक का उदाहरण देता है।

यह पृष्ठ स्तर निर्देश का उल्लेख नहीं करता है, हालांकि, जो IIRC क्विकस्टार्ट में कहीं और विस्तृत है।

बेशक, यह ASP.NET 2.0 के लिए प्रासंगिक है।


यह लिंक-ओनली उत्तर है। कृपया प्रासंगिक जानकारी को इनलाइन करें।
zzzzBov

1
लिंक बासी है :-(
रोलैंड


6

माइक्रोसॉफ्ट के लोग उन्हें कभी-कभी "नगेट्स" या "कोड नगेट्स" कहते हैं।


हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.