2010-11-02 6 views
24

मैं एएसपी.नेट 3.5 का उपयोग कर रहा हूं और मैंने पहले 1.1 का उपयोग किया था, मुझे यह पता लगाने में कठिनाई हो रही है कि मैं पेज इनिट इवेंट को कहां संलग्न/घोषित कर सकता हूं?एएसपी.नेट पेज_इनिट इवेंट?

1.1 में ऑटो जेनरेट कोड था जो प्रारंभिक कोड था। जहां हम पृष्ठ init विधि जोड़ सकते हैं। तो मैं उलझन में हूँ कृपया मदद करें।

उत्तर

43

बस के पीछे अपने कोड में यह घोषणा करते हैं:

protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
    } 
+1

लेकिन ईवेंट अटैचमेंट के लिए हमें पृष्ठ की तरह कुछ करने की आवश्यकता है। ऑनइन + = evnetHnaglerName (प्रेषक , EventArgs) कहां घोषित किया गया है ...? वह वह जगह है जहां मैं अधिक उलझन में हूं। –

+0

नहीं, क्योंकि आप विधि को ओवरराइड कर रहे हैं। यह सब आपके लिए ख्याल रखा जाता है। – kemiller2002

+0

यह 1.1 की तरह नहीं है जहां आप कोड देख सकते हैं। उन्होंने आंशिक वर्ग के दूसरे हिस्से में इसे बहुत छुपाया है। – kemiller2002

0

आप पृष्ठ की सीएस फ़ाइल में पेज_इनिट विधि जोड़ सकते हैं। उदाहरण के लिए, यदि आपके पास Default.aspx है तो आप विधि को डिफ़ॉल्ट.aspx.cs

पर डाल सकते हैं जब आप वीएस में कोई पृष्ठ बनाते हैं तो आपके पास पृष्ठ_लोड विधि आपके लिए बनाई जाएगी। आप सीएस फ़ाइल में पेज के लिए अपना पेज_इनिट कोड & अन्य कोड डाल सकते हैं।

पुनश्च: आप सर्वर साइड कोड के रूप में वीबी का उपयोग करते हैं, तो आप यह ASP.NET 3.5 में अलग नहीं है वीबी फ़ाइल

0

में रख करना होगा - वहाँ एक कोड-पीछे पेज जहां है आप OnInit ईवेंट घोषित/संलग्न कर सकते हैं।

पीछे कोड देखने के लिए, समाधान एक्सप्लोरर में फ़ाइल पर राइट क्लिक करें और View code चुनें।

6

आप घटना बाध्य करने के लिए नहीं है। बस इसके लिए एक ईवेंट हैंडलर बनाने के लिए, और यह स्वचालित रूप से बाध्य होंगे:

protected void Page_Init(object sender, EventArgs e) { 
    ... 
} 
60

ASP.NET 2.0 डिफ़ॉल्ट डिजाइन/संकलन मॉडल बदल दिया है।

डिफ़ॉल्ट AutoEventWireup तक सही पर सेट किया जाता है, जो संकलक निर्देश देता है स्वचालित रूप से नामकरण परिपाटी का उपयोग कर के पीछे कोड से ईवेंट हैंडलर्स संलग्न करने के लिए है, इसलिए जब आप लिखते हैं:

protected void Page_Load(...) 
{ 

} 

यह स्वतः ही में इस कोड डालता है पर्दे के पीछे:

this.Load += new EventHandler(this.Page_Load) 

यह पहले से InitialiseComponent द्वारा किया गया था() (मुझे विश्वास है)। बस अपने आप को हस्ताक्षर

protected void Page_Init() 
{ 
    // 
} 
+6

+1 एकमात्र समस्या यह है कि इस पर कोई स्वत: पूर्ण उपलब्ध नहीं है। आपको ईवेंट हैंडलर का सटीक वाक्यविन्यास पता होना चाहिए। – Pankaj

+0

के लिए – FrenkyB

0

:

बहरहाल, इस सवाल का जवाब कोड अपने आप को लिखने के लिए है के रूप में: संरक्षित उप पृष्ठ_इनिट (बायवल प्रेषक ऑब्जेक्ट के रूप में, ByVal e EventArgs के रूप में) मुझे संभालता है IInit

2

तुम्हारे पीछे कोड में घोषित करने के लिए की जरूरत है एएसपी/vb.net का उपयोग कर उन लोगों के लिए के साथ जोड़ने के

protected void Page_Init(object sender, EventArgs e) 
{ 
    // do the bartman 
} 
संबंधित मुद्दे