इसे प्राप्त करने के कई तरीके हैं। मैं आपको हमारे दैनिक प्रोग्रामिंग जीवन चक्र में उपयोग किए जाने वाले 4 प्रकारों के बारे में संक्षेप में समझा सकता हूं।
कृपया नीचे दिए गए बिंदुओं के माध्यम से जाएं।
1 प्रश्न स्ट्रिंग।
FirstForm.aspx.cs
Response.Redirect("SecondForm.aspx?Parameter=" + TextBox1.Text);
SecondForm.aspx.cs
TextBox1.Text = Request.QueryString["Parameter"].ToString();
यह सबसे विश्वसनीय तरीका है जब आप मूल्य या अन्य कम के पूर्णांक तरह से गुजर रहे हैं है मापदंडों। यदि आप क्वेरी स्ट्रिंग के माध्यम से इसे पास करते समय मान में किसी विशेष वर्ण का उपयोग कर रहे हैं, तो इस विधि में अधिक अग्रिम, आपको अगले पृष्ठ पर जाने से पहले मान को एन्कोड करना होगा। कुछ इस तरह तो के बारे में हमारी कोड स्निपेट होगा:
FirstForm.aspx.cs
Response.Redirect("SecondForm.aspx?Parameter=" + Server.UrlEncode(TextBox1.Text));
SecondForm.aspx.cs
TextBox1.Text = Server.UrlDecode(Request.QueryString["Parameter"].ToString());
यूआरएल एन्कोडिंग
- Server.URLEncode
- HttpServerUtility.UrlDecode
संदर्भ वस्तु
एक और व्यापक रूप से इस्तेमाल विधि संदर्भ वस्तु के माध्यम से मूल्य से गुजर रहा है के माध्यम से
2. पासिंग मूल्य।
FirstForm.aspx.cs
TextBox1.Text = this.Context.Items["Parameter"].ToString();
SecondForm.aspx.cs
ध्यान दें कि हम Response.Redirect के बजाय Server.Transfer का उपयोग कर दूसरे पृष्ठ पर नेविगेट कर रहे हैं। हम में से कुछ मूल्यों को पारित करने के लिए सत्र ऑब्जेक्ट का भी उपयोग करते हैं। उस विधि में, मान ऑब्जेक्ट ऑब्जेक्ट में स्टोर किया जाता है और उसके बाद बाद में दूसरे ऑब्जेक्ट में सत्र ऑब्जेक्ट से निकाला जाता है।
3।पोस्टबैक
पृष्ठ को दूसरे फॉर्म में पोस्ट करके मूल्य पारित करने की तीसरी विधि। यहाँ इस बात का उदाहरण है:
FirstForm.aspx.cs
private void Page_Load(object sender, System.EventArgs e)
{
buttonSubmit.Attributes.Add("onclick", "return PostPage();");
}
और हम एक जावास्क्रिप्ट फंक्शन फॉर्म पोस्ट करने के लिए पैदा करते हैं।
SecondForm.aspx.cs
function PostPage()
{
document.Form1.action = "SecondForm.aspx";
document.Form1.method = "POST";
document.Form1.submit();
}
TextBox1.Text = Request.Form["TextBox1"].ToString();
यहाँ हम खुद के बजाय एक पृष्ठ पर प्रपत्र पोस्ट कर रहे हैं। आप इस विधि का उपयोग कर दूसरे पृष्ठ में दृश्यमान अमान्य या त्रुटि प्राप्त कर सकते हैं। इस त्रुटि को संभालने के लिए की जोड़ने PostBackURL संपत्ति से पार पेज पद वापस
ASP.NET 2.0 में, Microsoft इस समस्या को हल किया है के लिए नियंत्रण के PostBackURL संपत्ति जोड़कर EnableViewStateMac=false
4. एक अन्य विधि है डाल करने के लिए है क्रॉस पेज पोस्ट के लिए नियंत्रण वापस। कार्यान्वयन नियंत्रण की एक संपत्ति स्थापित करने का मामला है और आप कर रहे हैं।
FirstForm.aspx.cs
<asp:Button id=buttonPassValue style=”Z-INDEX: 102″ runat=”server” Text=”Button” PostBackUrl=”~/SecondForm.aspx”></asp:Button>
SecondForm.aspx.cs
TextBox1.Text = Request.Form["TextBox1"].ToString();
उपरोक्त उदाहरण में, हम बटन के PostBackUrl संपत्ति बताए जाते हैं हम करने के लिए पेज निर्धारित कर सकते हैं जो इसके बजाय पोस्ट करेगा। अगले पृष्ठ में, हम अनुरोध ऑब्जेक्ट का उपयोग कर पिछले पृष्ठ के सभी नियंत्रणों तक पहुंच सकते हैं।
क्लासिक अनुरोध ऑब्जेक्ट का उपयोग करने के बजाय आप पिछले पृष्ठ के नियंत्रण तक पहुंचने के लिए पिछला पृष्ठ वर्ग का भी उपयोग कर सकते हैं।
SecondForm.aspx
TextBox textBoxTemp = (TextBox) PreviousPage.FindControl(“TextBox1″);
TextBox1.Text = textBoxTemp.Text;
आपने गौर किया है, यह भी पृष्ठों के बीच मूल्य पास करने का एक सरल और साफ कार्यान्वयन है।
संदर्भ: MICROSOFT MSDN WEBSITE
खुश कोडन!
क्या आपने कैश की कोशिश की है? – ssilas777
'सत्र' का उपयोग करना बुरा नहीं है लेकिन सत्र का उपयोग करने में कारक हो सकते हैं। उपयोगकर्ता का नहीं आपकी बैंडविड्थ सेवर क्षमता यदि आपके ऊपर उल्लिखित अच्छा है तो आप 'सत्र' का उपयोग कर सकते हैं। –
@ ssilas777 सामान्यतः सभी उपयोगकर्ताओं के लिए 'कैश' समान है। तो उसके मामले में वह कैश का उपयोग नहीं कर सकता है। –