Saturday, October 16, 2021

ASP.NET Page Navigation Techniques in Hindi

ASP.NET के अंतर्गत पेज नेविगेशन के लिए कई तरीके उपलब्ध है। 
  1. Hyperlink server control
  2. JavaScript code
  3. PostBackUrl property of Button control
  4. Response.Redirect method
  5. Server.Transfer method
सबसे पहला तरीका क्लाइंट साइड नेविगेशन का है। इसके अंतर्गत हाइपरलिंक कंट्रोल का उपयोग किया जाता है। जब कंट्रोल पर यूजर क्लिक करता है तब यूजर दिए गए नेविगेशन पेज पर चला जाता है। 

उदाहरण के लिए
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Welcome.aspx">
         Goto Welcome Page
</asp:HyperLink>

जब पेज का सोर्स कोड देखा जाता है तो निम्न प्रकार का सोर्स कोड दिखाई देता है

<a id="HyperLink1" href="Welcome.aspx">Goto Welcome Page</a>

क्लाइंट सेट नेवीगेशन के लिए जावास्क्रिप्ट कोड का भी उपयोग किया जाता है। इसके अंतर्गत किसी बटन जैसे कंट्रोल के क्लिक या अन्य घटना का उपयोग कर इवेंट हैन्डल रूटीन को एकसेक्यूट किया जाता है

<input id="Button1" type="button" value="Goto Welcome Page"
           onclick="return Button1_onclick()" />


<script language="javascript" type="text/javascript">       
         function Button1_onclick()
           {
               document.location = "Welcome.aspx";
           }
</script>
जब यूजर बटन पर क्लिक करता है तो Welcome.aspx पेज पर यूजर नेविगेट कर जाता है।

ASP.NET बटन की PostBackUrl प्रोपर्टी का उपयोग कर भी एक पेज से दूसरे पेज पर नेविगेट किया जा सकता है। बटन की इस प्रॉपर्टी को डिजाइन टाइम पर या रनटाइम पर भी सेट किया जा सकता है।

Page.PreviousPage.FindControl("TextBox1")

ASp.net के Page क्लास की PreviousPage प्रॉपर्टी का उपयोग कर हम पिछले पेज के कंट्रोल के डाटा को वर्तमान पेज के ऊपर प्रदर्शित कर सकते हैं। उदाहरण के लिए, मान लीजिए कि एक एस्प एप्लिकेशन में दो एसपी पेज है। पहले पेज का नाम है Index.aspx और दूसरे का नाम है Welcome.aspx 
Index.aspx पर टेक्सटबॉक्स है जिसमें कुछ डेटा यूजर इनपुट करता है और एक बटन है जिसको यूजर क्लिक करता है। बटन की PostBackUrl प्रॉपर्टी को Welcome.aspx सेट किया गया है। जब यूजर Index.aspx पेज के बटन को क्लिक करता है तो यूजर Welcome.aspx पेज पर नेविगेट करता है। और Welcome.aspx पेज के लेबल कन्ट्रोल Label1 पर टेक्सटबॉक्स TextBox1 का डाटा उपलब्ध हो जाता है। इसके लिए सम्बंधित कोड निम्नलिखित है

// Sample code for Welcome.aspx.

protected void Page_Load(object sender, EventArgs e)
    {
        if (Page.PreviousPage != null)
        {
            TextBox MyTextBox = (TextBox)Page.PreviousPage.FindControl("TextBox1");
            if (MyTextBox != null)
            {
                Label1.Text = MyTextBox.Text;
            }
        }
    }

Page.Response.Redirect()
जब यूजर किसी Aap.net पेज के बटन पर क्लिक करता है तो बटन उस पर उत्पन्न घटना की प्रोसेसिंग करने के लिए सर्वर को भेज देता है लेकिन सर्वर यदि रिस्पांस ऑब्जेक्ट मे रीडायरेक्ट करता है तो इसका अर्थ यह है कि वह ब्राउज़र को निर्देश दे रहा है कि ब्राउज़र नए पेज पर नेविगेट करें। जिस पेज पर नेविगेट करना होता है उससे संबंधित पेज की path को Redirect मेथड के भीतर एक पैरामीटर के रूप में दिया जाता है।

protected void Button1_Click(object sender, EventArgs e)
    {
        Response.Redirect("TutorialRide.aspx");
    }

ऊपर की बताएं तकनीक में पूरा एक राउंड ट्रिप होता है। कहने का अर्थ है कि पहले तो बटन को क्लिक करने पर बटन सर्वर पर घटना को प्रोसेसिंग करने के लिए भेजता है और फिर सर्वर ब्राउज़र को रीडायरेक्ट करने के लिए रिस्पांस ऑब्जेक्ट भेजता है इस प्रकार एक पूरा राउंड ट्रिप होता है। 

अगर हम चाहते हैं कि सर्वर खुद ही पेज रीडायरेक्ट कर दे तो इसके लिए हम सर्वर ऑब्जेक्ट के Transfer मैथड का उपयोग करते हैं। सर्वर के ट्रांसफर मेथड की एक लिमिटेशंस सीमा यह है कि यह सर्वर पर उपलब्ध किसी पेज पर ही redirect कर सकता है परन्तु यह किसी दूसरे सर्वर पर उपलब्ध पेज पर redirect नहीं कर सकता है। किसी दूसरे सर्वर पर उपलब्ध पेज पर redirect करने के लिए हमें रिस्पांस ऑब्जेक्ट का ही उपयोग करना पड़ता है।

protected void Button1_Click(object sender, EventArgs e)
    {
        Server.Transfer("SameServerPage.aspx");
    }

अजीत कुमार १३ सितम्बर २०२१

No comments:

Post a Comment

Hot Topics