Creating and Configuring Code-Behind File

Creating and Configuring Code-Behind File – हालांकि हमने हमारे ASP.NET Webpage को Code-Behind File के लिए पूरी तरह से Setup कर लिया है, लेकिन अभी तक हमारे पास वह File नहीं है, जिसमें हम हमारे Default.aspx Webpage के लिए Program Logic लिखेंगे। इसलिए अब हमें हमारा  Code-Behind File Create करना होता है।

 Code-Behind File वास्तव में एक Class File होती है। अत: Code-Behind Class File Create करने के लिए हमें Visual Studio के PROJECT => Add Class Option को Click करना होता है, जिसके परिणामस्वरूप निम्नानुसार Dialog Box Display होता है:

Creating and Configuring Code-Behind File in Core ASP.NET in Hindi

इस Dialog Box पर हमें उपरोक्त चित्रानुसार  Class Option को Select करना होता है जबकि “Name:” Textbox में हमें Create होने वाली Class File के नाम के रूप में उस नाम को Specify करना होता है, जिसे हमने हमारे Default.aspx File के Page Directive के CodeFile Attribute में Specify किया था।

चूंकि हम इस Code-Behind Class File को Default.aspx File के Program Logic लिखने के लिए Create कर रहे हैं, इसलिए उपरोक्त चित्र में दर्शाए अनुसार हमने हमारी Create होने वाली Code-Behind Class File का नाम Default.aspx.cs रखा है, क्‍योंकि Page Directive के CodeFile Attribute में हमने इसी नाम को Specify किया था।

Code-Behind Class File का नाम Specify करने के बाद अब हमें इस Dialog Box पर दिखाई देने वाले “Add” Button को Click करना होता है। परिणामस्वरूप हमारे Default.aspx File के लिए एक Code-Behind Class File Create हो जाती है, जो कि Solution Explorer में निम्नानुसार दिखाई देती है:

Creating and Configuring Code-Behind File in Core ASP.NET in Hindi

चूंकि Visual Studio में Create होने वाली Code-Behind Class File, Solution Explorer में उपरोक्त चित्रानुसार Default.aspx File के Child के रूप में दिखाई देता है, इसलिए Code-Behind File का नाम Specify करने के लिए Discuss किए गए विभिन्न Naming Conventions को Use किया जाता है, ताकि इस बात को आसानी से Identify किया जा सके कि कौनसी Code-Behind File किस Webpage के लिए Create की गई है। हालांकि इस नाम का Code-Behind File या Webpage ls Directly कोई सम्बन्ध नहीं है।

यानी यदि हम चाहें तो अपने Default.aspx Webpage में Page Directive को निम्नानुसार भी Specify कर सकते हैं:

[code]
<%@ Page CodeFile="HomePage.cs" Inherits="WorkingWithWebpages.Default" %>
[/code]

लेकिन जब हम हमारेWebpage में Specified Page Directive की CodeFile Attribute में उपरोक्तानुसार HomePage.cs नाम Specify करते हैं, तो Default.aspx File के लिए Create की जाने वाली Code-Behind Class File का नाम HomePage.cs रखना जरूरी होता है और उस स्थिति में हमारी Create होने वाली Code-Behind Class File, Solution Explorer में कुछ निम्नानुसार दिखाई देती है:

Creating and Configuring Code-Behind File in Core ASP.NET in Hindi

यानी यदि हम Microsoft द्वारा Provided Naming Convention Use नहीं करते तो उस स्थिति में यदि हमारे Web Project में 100 Webpage हों, तो हमारे Solution Explorer Sidebar में हमें कुल 200 Files दिखाई देंगी, जिससे किस Webpage की कौनसी Code-Behind Class File है, इस बात का पता लगाना काफी Time-Consuming काम हो जाएगा।

जबकि यदि हम Microsoft द्वारा Specified Naming Convention Use करते हैं, तो उस स्थिति में यदि हमारे Web Project में कुल 100 Webpages हों, तो Solution Explorer में हमें केवल 100 Files ही दिखाई देते हैं, जबकि सभी Code-Behind Files अपने Webpage के साथ Child Page की तरह Attached रहते हैं। परिणामस्वरूप हमें किसी Particular Webpage की  Code-Behind Class File को Search करने की जरूरत नहीं होती।

इसीलिए जब हम Visual Studio IDE Use करते हुए ASP.NET Web Application Develop करते हैं, तो Microsoft Naming Convention को Follow करना हमारेProject को आसानी से Manage करने के लिहाज से हमेंशा बेहतर रहता है।

हमारे Default.aspx File में लिखे गए  HTML Markups को Program Logic के अनुसार Visual Studio द्वारा Provide की जाने वाली IntelliSense सुविधा के साथ देखने के लिए निम्न चित्रानुसार Solution Explorer में Default.aspx File पर Right Click करने पर Display होने वाले Popup Menu से “View Markup” Option को Click करना होता है:

Creating and Configuring Code-Behind File in Core ASP.NET in Hindi

जैसे ही हम इस Option पर Click करते हैं, हमारा Default.aspx Webpage यदि पहले से Open हो, तो उसे Close करके फिर से Open करने के लिए एक MessageBox Display होता है, जबकि यदि Webpage पहले से Open न हो, तो Visual Studio द्वारा एक Dynamic Webpage अपनी पूरी Functionality के साथ Display किया जाता है।

जैसे ही उपरोक्तानुसार Discussed Process को Use करते हुए हम Code-Behind Class File Create करते हैं, Default.aspx.cs नाम की एक नई File Create होकर Open हो जाती है और Open होने वाली इस File में निम्नानुसार Automatically Generated Codes लिखे होते हैं:

[code]
File Name:Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace WorkingWithWebpages
{
  publicclassDefault
  {
  }
}
[/code]

जब हम उपरोक्तानुसार Steps Follow करते हुए अपनी. html File को .aspx File के रूप में Rename करते हैं और अपनी .aspx File में Page Directive को Specify करते हुए नई Code-Behind Class File Create करते हैं, तो Visual Studio को इस बात का पता नहीं होता कि हम किस .NET Supported Programming Language को Use करते हुए अपने ASP.NET Webpage Create कर रहे हैं।

इसलिए Visual Studio हमारी Code-Behind File व उससे Related Codes को Identify नहीं कर पाता। परिणामस्वरूप हमें हमारी Default.aspx File में Specified Page Directive Statement के साथ निम्न चित्रानुसार WavyWarning Line Display होता है:

Creating and Configuring Code-Behind File in Core ASP.NET in Hindi

जिस तरह से उपरोक्त चित्र में हम देख सकते हैं कि Page Directive Statement के नीचे एक Wavy Warning Line Display हो रहा है। ऐसा ही Wavy Underline हमें निम्न चित्रानुसार Newly Create होने वाली Default.aspx.cs File के Codes के साथ भी दिखाई देता है:

Creating and Configuring Code-Behind File in Core ASP.NET in Hindi

यदि हम इन Warnings को Ignore करते हुए अपने Web Project को Compile करें, तो ASP.NET Server हमारे Web Project को ठीक से Compile नहीं करते हुए Error Generate करता है। साथ ही जब तक ये Warnings Display होती रहती हैं, Visual Studio हमें हमारे Project के लिए Appropriate IntelliSense की सुविधा भी Provide नहीं करता। इसलिए अपने Web Project को Compile करने से पहले हमे इन Warnings को Remove करना जरूरी होता है।

चूंकि हमें ये Warning Message इसलिए Display हो रहे हैं, क्योंकि Default रूप से Visual Studio में Create होने वाले हर Project की Default Programming Language VB.NET ही Set है, क्योंकि Visual Studio को मूल रूप से Visual Basic Programming Language के लिए ही Develop किया गया था।

इसलिए जब हम उपरोक्तानुसार Steps को Follow करते हुए अपनी. html File को .aspx File के रूप में Rename करते हैं और अपनी .aspx File में Page Directive को Specify करते हुए नई Code-Behind Class File Create करते हैं, तो Visual Studio को यही लगता है कि हम VB.NET Programming Language Codes को Use करते हुए अपना Development करेंगे।

लेकिन जब हम अपनी Code Behind File में C# Codes लिखते हैं, तो Visual Studio हमारे C# Codes को गलत Programming Syntax मानते हुए Warning Message Display करने लगता है। इसलिए इस परेशानी से बचने के लिए यानी Warning Message को Remove करने के लिए हमें हमारे Current Project में Opened सभी Files (Default.aspx, Default.aspx.cs, etc…) Close करना होता है तथा Web.config File को Open करना होता है, जिसमें सामान्‍यत: निम्न Codes लिखे होते हैं:

[code]
File Name: Web.config
<?xmlversion="1.0"?>
<!--
 For more information on how to configure your ASP.NET application, please visit
 http://go.microsoft.com/fwLink/?LinkId=169433
-->
<configuration>
<system.web>
<compilationdebug="true"targetFramework="4.5" />
<httpRuntimetargetFramework="4.5" />
</system.web>
</configuration>
[/code]

इस File में हमारे Current Project से सम्बंधित सभी जरूरी Configurations की Information होती है, जो हमारे Current Project को Normal तरीके से Run करने तथा अन्‍य Machine पर Deploy करने के लिए उपयोगी होती है। इस File में दिखाई देने वाले <compilation /> Element में हमें defaultLanguage Attribute को Set करना होता है। जैसे:

[code]
<compilationdebug="true"targetFramework="4.5"defaultLanguage="C#"/>
[/code]

जैसे ही हम इस Attribute को Set करके Web.config File को Save करते हैं, Visual Studio को इस बात का पता चल जाता है कि हम हमारे Current Project में किस .NET Supported Programming Language को Use करते हुए Development कर रहे हैं। परिणामस्वरूप अब जब हम Default.aspx या Default.aspx.cs Files को Open करते हैं, तो हमें Warning Message दिखाई नहीं देते न ही किसी Code के साथ Wavy Underline Show होता है।

यदि Web.config File में उपरोक्त Setting करने के बावजूद भी Warning Message Show हो रहा है, तो उस स्थिति में Visual Studio को फिर से Restart करना चाहिए अथवा Default.aspx Webpage में Specify किए गए Page Directive में भी “Language” Attribute को निम्नानुसार Appropriate Programming Language Value के साथ Specify करना चाहिए-

[code]
<%@Page
   Language="C#"
    CodeFile="Default.aspx.cs"
   Inherits="WorkingWithWebpages.Default"
%>
[/code]

जब उपरोक्तानुसार Steps को Follow करने के कारण Visual Studio को इस बात का पता चल जाता है कि Current Web Project में Use की जाने वाली मुख्‍य Programming Language कौनसी है, तो Visual Studio Wavy Underling के साथ किसी प्रकार का कोई Earning Message Show नहीं करता और हमें हमारा Default.aspx.cs File का Code निम्नानुसार दिखाई देने लगता है:

Creating and Configuring Code-Behind File in Core ASP.NET in Hindi

चूंकि जब हम Code-Behind Class File Create करते हैं और Page Directive के माध्‍यम से उस Code-Behind Class File को ASP.NET Webpage से Attach करते हैं, तो हमारा ASP.NET Webpage उसी स्थिति में उस Code-Behind Class File के Program Logic को Identify करता है, जबकि हम उसे System.Web.UI Namespace में Exist Page Class से Inherit करें, क्योंकि किसी ASP.NET Webpage के Dynamic Content को Handle करने से सम्बंधित Functionalities को इसी Page Class में Define किया गया है।

अत: अपनी Code-Behind Class को Page Class से Derive करने के लिए हमें हमारी Default.aspx.cs File में Automatically Create होने वाली Default Class को निम्नानुसार Modify करना होगा-

[code]
File Name:Default.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
                                    
namespace WorkingWithWebpages
{
  publicclassDefault : System.Web.UI.Page      //Using Class without Importing Namespace
  {
  }
}
[/code]

जबकि यदि हम चाहें तो अपनी Default Class को निम्नानुसार तरीके से भी Modify कर सकते हैं, जहां System.Web.UI Namespace कोusing Statement के माध्‍यम से Current Code-Behind Class File में Import किया गया है:

[code]
File Name:Default.aspx
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;                   //Importing Namespace with using Statement
namespace WorkingWithWebpages
{
  publicclassDefault : Page
  {
  }
}
[/code]

साथ ही जब हमारा Default.aspx Webpage Compile होता है, तो उसकी एक Temporary Class File Create होती है जिसे ASP.NET Server द्वारा हमारी Code-Behind Class File के साथ Combine किया जाता है। लेकिन क्योंकि दो अलग Classes एक दूसरे के साथ Combined होकर एक Single Class की तरह काम नहीं कर सकते, इसलिए Microsoft ने Partial Class का Concept विकसित किया है, जिसके अन्तर्गत एक ही Class को एक से ज्यादा हिस्सों में विभाजित करके Design किया जा सकता है।

परिणामस्वरूप ASP.NET Server हमारे Default.aspx Webpage के लिए जो Temporary Class Create करता है, जिसके साथ ASP.NET Web Server को Code-Behind Class के Codes को Combine करते हुए एक Single Class Create करना होता है। ताकि उस Single Class के माध्‍यम से Default.aspx Webpage को Dynamically Control किया जा सके।

अत: अपनी Code-Behind Class को हमें निम्‍नानुसार partial Keyword का प्रयोग करते हुए एक Partial Class के रूप में Define करना होगा-

[code]
File Name:Default.aspx
…
namespace WorkingWithWebpages
{
 publicpartialclassDefault : Page
  {
  }
}

जैसे ही हम हमारी Default नाम की Code-Behind Class को Page Class से Inherit करते हुए तथा इस Class को partial Keyword के साथ Specify करते हुए Define करते हैं, Code-Behind File के साथ Dynamic ASP.NET Page Create करने से सम्बंधित सभी जरूरी Configurations पूरे हो जाते हैं।

परिणामस्वरूप यदि अब हम हमारे Web Project को Run करें, तो हमें हमारा Default.aspx Page Web Browser में निम्न चित्रानुसार Render होने लगता है:

Creating and Configuring Code-Behind File in Core ASP.NET in Hindi

इस चित्रानुसार Webpage के दिखाई देने का मतलब ये है कि अब हमारी Code-Behind Class File, ASP.NET Webpage के साथ पूरी तरह से Attached है और हम हमारेWebpage के Content को Dynamically Add या Modify करने के लिए लिखे जाने वाले विभिन्न Program Logic को Code-Behind Class File में Appropriate Methods Create करते हुए लिख सकते हैं, जिनके आधार पर Response Webpage Generate होगा।

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