Making Page Dynamic Using Inline Code Block

Making Page Dynamic Using Inline Code Block – पिछले Section में हमने जो HTML Page Create किया था वह एक Static Webpage था। इस प्रकार के Webpages को चाहे जितनी बार Request किया जाए, इनके Content में किसी प्रकार का कोई परिवर्तन नहीं होता।

लेकिन Dynamic Webpage ऐसे Webpage होते हैं, जिनके Content User Request द्वारा Pass किए गए Parameters के आधार पर Change होता रहता है। इसलिए Dynamic Webpages में HTML Markup व Program Logic दोनों का मिश्रण होता है।

ASP.NET Server Static व Dynamic Files को उनके Extension के आधार पर Differentiate करता है। यानी जिन Files का Extension .htm, .html, .css, .js, .txt आदि होता है, ASP.NET Server इस प्रकार के Extensions वाले Resources को Static Resource के रूप में Identify करता है, जबकि .cshtml या .aspx Extension वाले Resources यानी Files को Dynamic Resource के रूप में Parse करते हुए Response Page Generate करता है।

इसलिए पिछले Section में हमने जो Static Webpage Create किए हैं, यदि हम चाहें तो उन्हीं Static HTML Webpages को Dynamic Webpage में Convert कर सकते हैं, जिसके लिए हमें केवल इन Files के Extension को .html से Change करके .aspx करना होता है।

जब हम हमारे Default.html File को Rename करके Default.aspx करते हैं, तो निम्नानुसार एक Dialog Box Display होता है:

Making Page Dynamic Using Inline Code Block in ASP.NET in Hindi

हमें इस Dialog Box पर दिखाई देने वाले “Yes” Button को Click करना होता है, ताकि हमारे HTML Resource को Visual Studio एक Dynamic Resource में Convert कर सके।

Adding Page Directive to Dynamic Page

हालांकि पिछले Section में Discuss किए अनुसार अपने HTML Page को Rename करते हुए उसका Extension Change कर देने मात्र से ASP.NET Server इस Page को एक Dynamic Page की तरह Process करने लगता है।

लेकिन फिर भी हमारा ये Page तब तक Dynamic Content को Process नहीं कर सकता, जब तक कि हम हमारे इस Webpage में कुछ और जरूरी Instructions Specify न करें, जो कि ASP.NET Server के लिए इस Page को Dynamic Page की तरह Treat करने के लिए जरूरी हैं और इस प्रक्रिया के अन्तर्गत हमें हमारे Webpage में सबसे पहले Page Directive को Specify करना होता है, क्योंकि Page Directive ही ASP.NET Server को इस बात का Instruction देता है कि Current Page को Dynamic Content Generate करने के लिए किस प्रकार से Process करना है।

Directive एक ASP.NET Instruction होता है जो हमेंशा <%@ Markup से शुरू होता है और %> Markup पर समाप्त होता है।

इन Opening व Closing Markup Characters के बीच हम हमारी जरूरत के अनुसार विभिन्न Attributes को विभिन्न प्रकार की Values से Set करते हुए Specify कर सकते हैं, जहां हर Attribute ASP.NET Framework को Current Webpage को किसी Specific तरीके से Treat करने के लिए Instruct करता है।

सामान्‍यत: Page Directive सबसे Common रूप से Use किया जाने वाला Directive होता है क्योंकि ये Directive, ASP.NET Framework को इस बात का Instruction देता है कि Current Page को किस प्रकार से Process करना है।

उदाहरण के लिए यदि हम निम्नानुसार तरीके से एक Page Directive Specify करें:

    <%@ Page Language=”C#” %>

तो जब User हमारे इस ASP.NET Page को Web Browser के माध्‍यम से Request करता है, तब ASP.NET Server इस इस Webpage को एक ऐसे Dynamic Page की तरह Process करता है, जिसमें लिखे गए Program Logic को C# Programming Language Use करते हुए लिखा गया होता है।

जबकि यदि हम हमारे ASP.NET Page में C# के स्थान पर VB.NET के Syntax का प्रयोग करते हुए Program Logic लिखना चाहते हैं, तो हमें इसी Statement में Specified Language Attribute को निम्नानुसार “VB” Value से Set करना होता है:

    <%@ Page Language=”VB” %>

इसी तरह से यदि हम Java Technology का प्रयोग करते हुए Dynamic Webpage Create करना चाहें, तो इसी Language Attribute में Value के रूप में “jsp” भी Set कर सकते हैं, लेकिन ऐसा करते समय हमें हमारे Page Directive को निम्नानुसार Small Case Letters का प्रयोग करते हुए ही Specify करना जरूरी होता है:

    <%@ page language=”jsp” %>

जब हम Page Directive Set करना चाहते हैं, तो अपने ASP.NET Page में इस Directive को हमेंशा Webpage की  First Code Line या Statement के रूप में Specify करना जरूरी होता है। जैसे:

 

Adding Inline Code Block to Dynamic Page

जब एक बार हम हमारे ASP.NET Page में पिछले Section में Discuss किए अनुसार Page Directive Specify करते हुए ASP.NET Server को इस बात का Instruction दे देते हैं कि हम किस .NET Supported Programming Language Syntax का प्रयोग करते हुए अपने ASP.NET Page में Dynamic Content Generate करेंगे, उसके बाद हम हमारे Page में अपनी जरूरत के अनुसार C# Codes को उपयोग में लेते हुए Inline Code Blocks Define कर सकते हैं, जिसे सामान्‍यत: Code Fragment भी कहते हैं।

इन C# Codes को Specify करने के लिए हमें<% … %> Block को Use करना होता है। यानी इस Block के बीच हम जिन C# Statements को लिखते हैं, उन C# Statements को ASP.NET Server, .NET Platform द्वारा Compile करते हुए Generate होने वाले Result को Represent करने के लिए करता है।

उदाहरण के लिए हम इसे निम्नानुसार तरीके से उपयोग में लेते हुए अपने ASP.NET Page में Specify कर सकते हैं:

जब हम Visual Studio में F5 Function Key का प्रयोग करते हुए इस Web Applicationको Run करते हैं, तो हमें हमारा Output Webpage कुछ निम्नानुसार दिखाई देता है:

Making Page Dynamic Using Inline Code Block in ASP.NET in Hindi

हम देख सकते हैं कि हालांकि हमने हमारे Webpage पर कोई Heading Markup Use नहीं किया है, फिर भी हमें H1 से H6 तक के सारे Headings दिखाई दे रहे हैं। ऐसा इसीलिए हो रहा है क्योंकि हमने निम्नानुसार C# Code का प्रयोग करते हुए इसे Dynamically Generate किया है:

<%

        for(int i=1; i<=6; i++){
               Response.Write(string.Format(“<h{0}>This is the Content as a Heading{0}</h{0}>”, i));
        }

%>

यानी हम किसी ASP.NET Webpage में HTML Markup के बीच <% … %> Element का प्रयोग करते हुए C# Code को भी ठीक उसी तरह से Embed कर सकते हैं, जिस तरह से PHP या JSP Webpages में करते हैं।

जब उपरोक्त Code Execute होता है, तो ASP.NET Server को Current ASP.NET Page पर जहां कहीं भी<% … %> Element प्राप्त होता है, इस Element के बीच Enclosed Codes को Web Server Compile करके Execute करता है  तथा  Execution से Generate होने वाले Content को Exactly इसी Element की Position पर फिर से Return कर देता है।

हम इस Element को HTML Codes के बीच भी Enclose कर सकते है और इस Statement द्वारा भी HTML Codes Generate कर सकते हैं। जबकि यदि हम चाहें तो HTML Code को C# Code के बीच Enclose करते हुए भी उपयोग में ले सकते हैं। जैसे:

<% for(int i=0; i<=3; i++){ %>
       <h3>This is Heading 3 enclosed within C# for Loop Code. </h3>
<% } %>

इस Code Segment में C# Coding Statements को तो<% … %>के बीच Enclose किया गया है जबकि जैसाकि इस Code में हम देख सकते हैं, हमने हमारे HTML Markup को दो<% … %>के बीच Enclose किया है और इन दोनों<% … %>के बीच हमने एक for Loop को दो टुकडों में Divide किया है। इसलिए इस Loop के बीच HTML Code होने की वजह से जितनी बार Loop Execute होता है, उतनी ही बार ये HTML Code भी Execute होता है। परिणामस्वरूप हमें निम्नानुसार Output प्राप्त होता है:

Making Page Dynamic Using Inline Code Block in ASP.NET in Hindi

पिछले Code में Use किया गया Response.Write() Method वास्तव में Console.Write() Method की तरह ही काम करता है। अन्तर केवल इतना है कि Console.Write() Method Console Window में Resultant Output Return करता है जबकि Response.Write() Method, Web Browser को Return होने वाले Response के रूप में Output को Return करता है और Exactly Webpage की  उसी Position व Location पर Result Return करता है, जिस जगह पर इस Method को Use किया गया होता है।

यहां एक और बात समझने व ध्‍यान रखने जैसी है कि जो काम ASP.NET  Webpage पर Response.Write() Method करता है, Exactly वही काम किसी JSP Web Application के Webpage पर out.print() Method करता है।

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