@Import Directive

@Import Directive हमें हमारे Current ASP.NET Page या User Control में उस Namespace को Import करने की सुविधा Provide करता है, जिन में Defined Classes, Interfaces, Constants आदि को हमें हमारे Current Page में Use करना होता है।

ये Directive Namespace नाम के केवल एक Single Attribute को Support करता है और इस Directive को निम्नानुसार तरीके से Use किया जा सकता है:

[code]
<%@ImportNamespace="System” %>
<%@ImportNamespace="System.Data” %>
[/code]

बहुत सारी ऐसी Assemblies हैं, जिनमें Stored Namespaces को हम हमारे Web Application के किसी Page में Use करने हेतु Reference कर सकते हैं। इन Import किए जा सकने वाले Namespaces की List को हम C:\Windows\Microsoft.NET\Framework\v2.0xxxxx\CONFIG Location पर स्थित web.config.comments File में देख सकते हैं।

जबकि Reference होने वाली Assemblies की List को हम <compilation> Element की <assemblies> Child-Element द्वारा देख सकते हैं, जो कि इसी File में कुछ निम्नानुसार तरीके से Defined होते हैं:

[code]
<assemblies>
<addassembly="mscorlib" />
<addassembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<addassembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<addassembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<addassembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<addassembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<addassembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<addassembly="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<addassembly="System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<addassembly="System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<addassembly="*" />
</assemblies>
[/code]

चूंकि ये सभी Assemblies Default रूप से web.config.comments File में पहले से Specified रहते हैं, इसलिए अपना Web Application Develop करते समय हमें इन Assemblies को अपने Web Application में अलग से Specify करने की जरूरत नहीं होती है।

जबकि यदि हम चाहें तो अपने Web Application में Use होने वाली Assemblies को इस File में भी Specify कर सकते हैं और जब हम इस File में किसी Assembly को Specify कर देते हैं, उसके बाद हमें उस Assembly को अपने Web Application में Specify करने की जरूरत नहीं रहती।

उदाहरण के लिए यदि हमने हमारी जरूरत के अनुसार कोई Specific Library Develop की हो, जिसे हम हमारे विभिन्न Web Applications में समान रूप से बार-बार Use कर रहे हैं, तो इस प्रकार की Library का Reference हम इस File में Specify कर सकते हैं। जिसके परिणामस्वरूप वह Library हमारे सभी Web Applications के लिए समान रूप से उपलब्ध हो जाती है। ध्‍यान दें कि हम यही काम web.config द्वारा भी कर सकते हैं, जो कि समान Location पर उपलब्ध रहती है।

हालांकि Assemblies को हम उपरोक्तानुसार तरीके से Reference कर सकते हैं, लेकिन इन Assemblies में उपलब्ध विभिन्न Namespaces में से हमारे Web Application में हमें जिन Namespaces की जरूरत होती है, उन्हें तो हमें Manually Import करना ही पडता है।

Assemblies की तरहही web.config.comments File में निम्नानुसार उन Namespaces को भी <namespaces> Element के <pages> Child Element के अन्तर्गत Specify किया गया होता है, जो हमारे Web Application के सभी Webpages में Automatically Import हो जाते हैं।

[code]
<namespaces>
<addnamespace="System"/>
<addnamespace="System.Collections"/>
<addnamespace="System.Collections.Specialized"/>
<addnamespace="System.Configuration"/>
<addnamespace="System.Text"/>
<addnamespace="System.Text.RegularExpressions"/>
<addnamespace="System.Web"/>
<addnamespace="System.Web.Caching"/>
<addnamespace="System.Web.SessionState"/>
<addnamespace="System.Web.Security"/>
<addnamespace="System.Web.Profile"/>
<addnamespace="System.Web.UI"/>
<addnamespace="System.Web.UI.WebControls"/>
<addnamespace="System.Web.UI.WebControls.WebParts"/>
<addnamespace="System.Web.UI. htmlControls"/>
</namespaces>
[/code]

हम देख सकते हैं कि इस XML List में जिन Namespaces को Specify किया गया है, हमारे Web Application के सभी ASP.NET Webpages में ये Automatically Import हो जाते हैं और Assemblies की तरह ही हम हमारी जरूरत के अनुसार इस File को Modify करते हुए इसमें उन Namespaces को Specify कर सकते हैं, जिनकी जरूरत हमारे विभिन्न Web Applications में Common रूप से होती है। साथ ही हम web.config File में भी इन Namespaces को Access व Manipulate कर सकते हैं।

यहां ध्‍यान देने वाली Special बात ये है कि Namespaces को अपने ASP.NET Page या User Control में Import कर लेने पर हमें जिन Classes को Use करना होता है, उन्हें बिना Fully Qualifying Name Specify किए हुए भी Directly Use किया जा सकता है।

उदाहरण के लिए यदि हम System.Data.OleDB Namespace को अपने ASP.NET Page में Import करते हैं, तो इस Namespace की System.Data.OleDB.OLEDBConnection Class को Use करने के लिए हमकेवल OLEDBConnection नाम का प्रयोग कर सकते हैं।

@Master Directive and @Control Directive
@Implements, @Register, @Assembly and @MasterType Directive

Core ASP.NET WebForms in Hindi - BccFalna.com: TechTalks in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Core ASP.NET WebForms with C# in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

Core ASP.NET WebForms in Hindi | Page:647 | Format: PDF

BUY NOW GET DEMO REVIEWS