मेरे पास एक सी #/एएसपी.नेट .aspx पृष्ठ है जो दो नियंत्रणों की घोषणा करता है जो प्रत्येक एक टैब की सामग्री का प्रतिनिधित्व करता है। मैं एक क्वेरी स्ट्रिंग तर्क चाहता हूं (उदा।,? टैब = 1) यह निर्धारित करने के लिए कि कौन से दो नियंत्रण सक्रिय हैं। मेरी समस्या यह है कि वे दोनों प्रारंभिक घटनाओं के माध्यम से जाते हैं और अपने बच्चों के नियंत्रण को पॉप्युलेट करते हैं, सीपीयू संसाधनों को बर्बाद करते हैं और प्रतिक्रिया समय धीमा करते हैं। क्या उन्हें किसी भी तरह से निष्क्रिय करना संभव है ताकि वे किसी भी प्रारंभिकरण से गुज़रें?मैं सी # वेब उपयोगकर्ता नियंत्रण कैसे घोषित करूं लेकिन इसे प्रारंभ करने से रोकूं?
मेरे .aspx पेज इस तरह दिखता है:
<% if (TabId == 0)
{ %>
<my:usercontroltabone id="ctrl1" runat="server" />
<% }
else if (TabId == 1)
{ %>
<my:usercontroltabtwo id="ctrl2" runat="server" />
<% } %>
और वह हिस्सा ठीक काम करता है। मुझे लगता है कि <% का मतलब यह होगा कि नियंत्रण वास्तव में घोषित नहीं किया जाएगा और इसलिए प्रारंभ नहीं होगा, लेकिन ऐसा नहीं है ...
मैं मानता हूं कि स्पेगेटी कोड को जाने की आवश्यकता है। चीजों को वस्तु-उन्मुख रखने के लिए तर्क को कोडबींड में रहना चाहिए। – Daniel
इस तरह से अच्छा काम करता है, चेतावनी यह है कि यदि आप व्यूस्टेट पर निर्भर हैं। व्यूस्टेट गतिशील रूप से जोड़े गए नियंत्रणों पर स्वचालित रूप से लोड नहीं होता है। –
@Chuck: अगर मेरी याददाश्त सही मायने में सेवा करती है (यह कुछ समय हो गया है क्योंकि मैंने वेब रूपों के साथ बहुत कुछ किया है) जो वास्तव में * कब * नियंत्रण लोड होने पर निर्भर करता है। मेरा मानना है कि 'पेज_लोड' की बजाय 'पेज_इनिट' में लोड करना दृश्यमान मुद्दों को हल करता है (अधिकांश)। –