c# - stringbuilder append override my record if (!IsPostback) -
ओवरराइडिंग से कैसे बचें?
सार्वजनिक आंशिक कक्षा परीक्षण: सिस्टम। वेब। यूआई पृष्ठ {स्ट्रिंगबिल्डर एस.बी. = नया स्ट्रिंगबिल्डर (); संरक्षित शून्य Page_Load (ऑब्जेक्ट प्रेषक, EventArgs ई) {if (! IsPostBack) {sb.Append ("एक"); Lbl.Text = sb.ToString (); }} सुरक्षित शून्य cmdSb_Click (ऑब्जेक्ट प्रेषक, EventArgs ई) {sb.Append ("दो"); Lbl.Text = sb.ToString (); }}
याद रखें, हर बार जब आप कोई भी पोस्टबैक करते हैं , भले ही यह किसी ईवेंट को संभालना है, भले ही पूर्ण पृष्ठ जीवन चक्र चलने वाला हो इसे समझने में मदद करने के लिए, आप अपने कोड को सोच सकते हैं जैसे कि ये एक बड़े फ़ंक्शन में हैं, और इस तरह से:
सार्वजनिक आंशिक कक्षा परीक्षण: System.Web.UI.Page {// Page_Load सब कुछ संरक्षित शून्य पेज_लोड (ऑब्जेक्ट प्रेषक, इवेंटएरग्स ई) के लिए चलाता है {// - कन्स्ट्रक्टर एरिया स्ट्रिंगबिल्डर एसबी = नया स्ट्रिंगबिल्डर (); // - पेज इनिट एरिया // - व्यूस्टेट लोड किया जाता है // - पेज लोड एरिया यदि (! आईपॉस्टबैक) {sb.Append ("एक"); Lbl.Text = sb.ToString (); } // - मान्यकरण नियंत्रणों की जांच की जाती है // - यदि वैध है, तो हैंडलिंग इवेंट्स प्रारंभ करें // अपने क्लिक इवेंट को संभाल लें यदि (सीएमडीएसबी_लाकिटेड) {sb.Append ("two"); Lbl.Text = sb.ToString (); } // - डाटाबाइंडिंग एरिया // - व्यूस्टेट को बचाएं // रेंडर पेज: क्लास को एचटीएमएल में बदल दिया जाता है जिसे ब्राउजर को भेजा जाता है // - अनलोड - पेज का निपटान किया जाता है}}
पूर्व>बेशक यह वास्तव में ऐसा नहीं है, लेकिन इसके बारे में इस तरह से सोचना शुरू करना और आप सही रास्ते पर हैं। इस स्थिति में, ध्यान दें कि आपका क्लिक इवेंट कभी भी आपके
! IsPostBack
कोड के रूप में एक ही समय में नहीं चला जाएगा, लेकिन आप हर बार एक नया स्ट्रिंगबिलर का उपयोग कर रहे हैं।यहां के लिए यहां क्लिक करें पृष्ठ जीवनचक्र पर अधिक जानकारी:
Comments
Post a Comment