~लेखक अजीत कुमार
ASP.NET के अंतर्गत डायरेक्टिव कई तरह की चीजों के बारे में निर्देश देता है जैसे कि कोई पेज एक नॉर्मल .aspx पेज है, .ascx कंट्रोल पेज है, अथवा .master मास्टर पेज है। पेज के सोर्स कोड की लैंग्वेज के बारे में भी बताता है जिसके आधार पर यह निर्धारित होता है कि इस पेज के कंपाइलेशन के लिए VB कंपाइलर का यूज होगा या C# कंपाइलर। कुछ डायरेक्टिव जैसे Page, Master, Import, Assembly, Control, Register, Implements, OutputCache इत्यादि हैं। कुछ उदाहरण संक्षेप में नीचे दिया गया है।
<%@ Page ... %>
<%@ Master ... %>
<%@ Import ... %>
<%@ Assebly ... %>
ऊपर लिखे डायरेक्टिव के कई सारे ऐट्रिब्यूट्स होते हैं जो डायरेक्टिव के अनुसार निर्धारित होते हैं।
ASP.NET एप्लिकेशन के किसी भी पेज में सबसे टॉप पर डायरेक्टिव दिया जाता है जो उस पेज के बारे में कई तरह की जानकारी देता है। उदाहरण के लिए पेज में किस भाषा के कोड का प्रयोग हुआ है इसको बताने के लिए पेज डायरेक्टिव के साथ लैंग्वेज अटरीब्यूट दिया जाता है जो उस पेज की भाषा की जानकारी देता है और उसी भाषा के अनुरूप कंपाइलर द्वारा वह पेज कंपाइल किया जाता है। उदाहरण के लिए,
<%@ Page Language ="VB" %>
ऊपर दिए गए डायरेक्टिव द्वारा यह बोध होता है कि पेज में VB भाषा का उपयोग किया गया है और यह aspx फ़ाइल है। पेज के कंपाइलेशन के समय किस भाषा का उपयोग सर्वर द्वारा किया जायेगा, यह उस सम्बंध में निर्देश है।
पेज डायरेक्टिव के अलावा और भी कई तरह के डायरेक्टिव है जैसे इंपोर्ट डायरेक्टिव का उपयोग किसी नेमस्पेस को इंपोर्ट करने के लिए किया जाता है। इसके लिए इंपोर्ट डायरेक्टिव में नेमस्पेस एट्रिब्यूट को दिया जाता है। जिस प्रकार पेज डायरेक्टिव में लैंग्वेज अटरीब्यूट दिया जाता है जो पेज की भाषा को परिभाषित करता है, ठीक उसी प्रकार इंपोर्ट डायरेक्टिव में नेमस्पेस अटरीब्यूट दिया जाता है जो यह बताता है कि इस पेज में किस नेमस्पेस को इंपोर्ट करना है। उदाहरण के लिए
<%@ Import Namespace ="System.Net.Mail" %>
ऊपर दिए गए डायरेक्टिव द्वारा पेज के भीतर System.Net.Mail नेमस्पेस को उपयोग किया गया है। यदि इस नेमस्पेस का उपयोग बहुत सारे पेज में करना हो तो इस नेमस्पेस को web.config फ़ाइल में लिख सकते हैं। उदाहरण के लिए,
<configuration>
<system.web>
<pages>
<namespaces>
< add namespace="System.Net.Mail" >
</namespaces>
</pages>
</system.web>
</configuration>
पेज के विभिन्न विभाग
किसी भी एएसपीएक्स पेज के तीन हिस्से किए जा सकते हैं पहला, डायरेक्टिव दूसरा, कोड रेंडर ब्लॉक और तीसरा पेज रेंडर ब्लॉक।
Directives
पेज के सबसे ऊपरी हिस्से में directives का यूज किया जाता है।
डायरेक्टिव का उपयोग पेज में प्रयुक्त भाषा और नेमस्पेस इत्यादि के बारे में किया जाता है।
Code Declaration block
कोड रेंडर ब्लॉक का उपयोग स्क्रिप्ट के संबंध में होता है जो इस पेज में यूज किया जाता है। इसका उपयोग स्क्रिप्ट के सम्बंध में होता है। यह स्क्रिप्ट टैग के भीतर लिखे कोड को रिप्रेजेंट करता है। <script> ब्लॉक के अंदर जितना कुछ भी लिखा जाता है वह सारा कुछ कोड रेंडर ब्लॉक के अंतर्गत आता है। स्क्रिप्ट के भीतर sub routines लिखे जाते हैं। उदाहरण के लिए
Page Rendering block
पेज रेंडर ब्लॉक का उपयोग पेज की रेंडरिंग के लिए किया जाता है। इस ब्लॉक की पहचान यह है यह एचटीएमएल टैग से स्टार्ट होता है और एचटीएमएल टैग से अंत होता है। कहने का अभिप्राय है कि <html> के भीतर जितना कुछ लिखा जाता है जो प्रेजेंटेशन को रिप्रेजेंट करता है वह पेज रेंडर ब्लाक के अंतर्गत आता है। उदाहरण के लिए
Page Directive
ASP.NET के अंतर्गत पेज डायरेक्टिव क्या होता है?
<%@ page ... %>
Asp.NET के अंतर्गत पेज डायरेक्टिव एक टैग होता है। यह टैग एंगुलर ब्रैकेट के बाद परसेंट सिम्बोल से आरम्भ होता है और अंत परसेंट एंगुलर ब्रैकेट से होता है। अतः टैग के दोनों ओर परसेंट सिंबल लगा होता है। एट द रेट साइन @ के बाद रिक्त स्थान छोड़कर page लिखा होता है। इसको पेज डायरेक्टिव कहते हैं क्योंकि पेज के पहले एट द रेट का सिंबल लगा होता है। यह एट द रेट @ का सिंबल डायरेक्टिव का सूचक होता है। जहां तक पेज डायरेक्टिव के अटरीब्यूट्स की बात है तो इसके अंतर्गत तीन चार एट्रिब्यूटस महत्वपूर्ण है।
पहला एट्रिब्यूट लैंग्वेज होता है जिसके बाद डबल कोट में जिस भी लैंग्वेज में पेज होती है उसे लिख देते हैं। दूसरा एट्रिब्यूट ऑटोइवेंट्वॉयरअप होता है। इसका वैल्यू ट्रू या फॉल्स होता है। तीसरा एट्रिब्यूट कोडफाइल होता है जिसका वैल्यू कोड फ़ाइल जिसका एक्सटेंशन डॉट सीएस cs या वीबी vb होता है और अंतिम है इन्हेरीट्स जिसका वैल्यू बहुधा डिफॉल्ट होता है।
जैसा कि हम जानते हैं कि एएसपी डॉट नेट के अंतर्गत कई तरह के फ्रेमवर्क होते हैं जैसे पेज फ्रेमवर्क। पेज फ्रेमवर्क के भीतर पेज इवेंट्स से जुड़े मेथड्स या इवेंट हैंडलर होते हैं जैसे पेज ईनीट, पेज लोड पेज इवेंट से जुड़े मेथड्स या इवेंट हैंडलर को समझना जरूरी है। पेज से जुड़े कई तरह के इवेंट हैं जैसे PreInit, Init, Load, Unload इत्यादि। इन सभी इवेंट्स से सम्बंधित इवेंट हैंडलर्स होते हैं जो कोड रेंडरिंग ब्लॉक के भीतर लिखे जाते हैं। जब कोई इवेंट होता है तो उससे जुड़ा हुआ इवेंट हैंडलर फायर स्वतः फायर होगा या नहीं इसका निर्धारण ऑटोइवेंट्वॉयरअप से होता है। उसी के लिए ऑटोइवेंटवायरअप नामक एट्रिब्यूट पेज डायरेक्टिव में प्रयोग किया जाता है।
किसी भी एएसपी वेवफॉर्म के अंतर्गत पेज डायरेक्टिव सबसे पहला कॉम्पोनेंट होता है। यह कोड के शुरू में लिखा जाता है। पेज डायरेक्टिव सर्वर को विभिन्न प्रकार का निर्देश भेजने के लिए किया जाता है। उदाहरण के लिए पेज डायरेक्टिव से पेज की लैंग्वेज का निर्धारण होता है। साथ ही पेज पर किस प्रकार का थीम है, ट्रेस इनेबल है या नहीं और पेज का कोड फाइल का लिंकेज कैसे है इत्यादि बातों को पेज डायरेक्टिव के अंतर्गत एटरीब्यूट के रूप में दिखाई जाता है। यह पेज डायरेक्टिव डाटा सर्वर को भेज दिए जाते हैं। दूसरे शब्दों में यह सर्वर को दिया गया निर्देश है जो पेज के जेनरेट होने के संबंध में होता है।
लिखने के लिए डबल परसेंट सिंबल <%%> के बीच में पेज एट्रीब्यूट्स लिखते हैं। पेज डायरेक्टिव के अंतर्गत चार एट्रिब्यूट बहुत इंपॉर्टेंट है। सबसे पहला है लैंग्वेज, दूसरा ऑटोइवेंट्वॉयरअप, तीसरा कोडफाइल और चौथा इन्हेरीट्स। प्रत्येक एट्रीब्यूट के मान को डबल कोट के भीतर एक स्ट्रिंग की भांति लिखा जाता है। जैसे
<%@ page Language="C#" AutoEventWireUp="true" errorPage="~/Xyz/ErrorPages/PageError1.aspx"
%>
लैंग्वेज के द्वारा पेज की प्रोग्रामिंग लैंग्वेज का निर्देश होता है जिस भाषा में asp.net की कोडिंग की गई है। ऑटोइवेंट्वॉयरअप दूसरा एटरीब्यूट है जिसके द्वारा इवेंट ऑटोमेटिकली फायर होगा अथवा नहीं यह निर्देश होता है। सामान्यतः ऑटोइवेंट्वॉयरअप का बुलियन वैल्यू ट्रू होता है जो बताता है कि पेज के लोड होने पर उससे जुड़े इवेंट ऑटोमेटिकली स्वतः फायर होंगे।
Asp.net ऑटोइवेंट्वॉयरअप किसी पेज के डायरेक्टिव के एट्रिब्यूट के रूप में यूज किया जाता है। यह पेज पर युक्त अलग अलग कंट्रोल्स जैसे बटन, इमेज, टेक्सटबॉक्स इत्यादि के साथ जुड़े event को wired कैसे किया जाए से सम्बंधित है।
ऑटोइवेंट्वॉयरअप इसके बारे में हम ऐसे समझे कि जब किसी भी पेज पर कोई इवेंट फायर होता है तो उसके बाद इवेंटहैंडलर सबरूटीन एक्सक्यूट होता है। पेज के किसी भी कंट्रोल जैसे बटन के साथ इवेंट जुड़ा हो सकता है, जैसे क्लिक इवेंट, माउसमूव इवेंट इत्यादि।
एक कंट्रोल के साथ कई सारे इवेंटहैंडलर wired हो सकते हैं अथवा अलग-अलग कंट्रोल एक ही इवेंटहैंडलर के साथ wired हो सकता हैं। मुख्य बात यह है कि जब भी कोई ईवेंट किसी कंट्रोल के साथ wired होता है तो उस इवेंट के फायर होने पर इवेंटहैंडलर wired होगा या नहीं इसी के संबंध में ऑटोइवेंट्वॉयरअप को true या false वैल्यू दिया जाता है।
कोडफाइल एट्रीब्यूट वस्तुतः कोड बिहाइंड फाइल के बारे में है। कोट बिहाइंड फाइल जिसे की कोडफाइल में दिखाते हैं यह एक लिंकेज फाइल है। इसका लिंकेज डिजाइन फाइल के साथ होता है। डिजाइन फाइल और कोडफाइल दोनों मिलकर asp.net के aspx फाइल का काम करते हैं। asp.net के अंतर्गत एएसपीएक्स ही वेब फ़ाइल होता है।
Page level Error handling vs Application level Error handling
Customizing error using web.config file
<configuration>
<system.web>
<customerrors mode="off" >
</system.web>
</configuration>
© अजीत कुमार, सर्वाधिकार सुरक्षित।
इस आलेख को उद्धृत करते हुए इस लेख के लिंक का भी विवरण दें। इस आलेख को कॉपीराइट सूचना के साथ यथावत साझा करने की अनुमति है। कृपया इसे ऐसे स्थान पर साझा न करें जहाँ इसे देखने के लिए शुल्क देना पडे।
No comments:
Post a Comment