2011-12-08 16 views
5

Page_PreRender और Page_Load मास्टर पेज में काम नहीं करते हैं, जिसके साथ मैं काम कर रहा हूं। Page_Init हालांकि, किसी भी कारण से करता है। AutoEventWireup सत्य पर सेट है।एएसपी.नेट मास्टर पेज में प्रीरेंडर

public partial class MyMaster : MasterPage 
{ 
    public MyMaster() 
    { 
     // tried this too, but doesn't matter whether this LoC 
     // is there or not 
     this.PreRender += Page_PreRender; 
    } 

    protected void Page_PreRender(object sender, EventArgs e) 
    { 
     // does not fire 
    } 
} 

मैंने इसे एक खाली वेब प्रोजेक्ट में भी आजमाया। वहां यह ठीक काम करता है।

संपादित करें: मैं पता लगा कि EnableViewStatetrue को ठीक करता है तो उसे सेट:

<%@ Master Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true" 
    CodeBehind="MyMaster.master.cs" Inherits="MyMaster" EnableViewState="false" %> 

लेकिन मैं ViewState सक्षम होने के लिए नहीं करना चाहती। OnPreRender ओवरराइडिंग भी काम करता है, इससे कोई फर्क नहीं पड़ता कि EnableViewState का मूल्य क्या है। अब मैं सोच रहा हूं क्यों, और ओवरराइड तरीके का उपयोग करने से मुझे एक हैकी लगता है। क्या कोई मदद कर सकता है?

+0

आप क्यों उम्मीद करते हैं कि विधि MyMaster कक्षा के अंदर पूल को बुलाया जाएगा? –

+0

क्षमा करें, यह निर्माता है। पोस्ट में कई खिड़कियों से कोड कॉपी करते समय कॉपी + पेस्ट-असफल। –

+1

क्या आप एक पृष्ठ को कॉल करते हैं जो आपके मास्टर पेज के संदर्भ में है? – slfan

उत्तर

-1

मैं पेज निर्देश में AutoEventWireup उपयोग करने के लिए सुझाव देते हैं, तो आप नीचे के रूप में की कोशिश करेंगे कृपया:

अपने पृष्ठ के निर्देश <%@ Page ... में, AutoEventWireup="true" उपयोग करें और अपनी मास्टर पृष्ठ में, PreRender घटना सदस्यता निकालें:

public MyMaster() 
{ 
    // tried this too, but doesn't matter whether this LoC 
    // is there or not 
    //this.PreRender += Page_PreRender; 
} 

आशा है कि सब कुछ ठीक है, आपके समय के लिए धन्यवाद।

संपादित करें: कृपया अपने web.config फ़ाइल में जाँच करें और सुनिश्चित करें कि AutoEventWireupFalse पर सेट नहीं है।

+0

आप एलियास के लिए धन्यवाद। दुर्भाग्य से अभी तक नहीं है। मैंने अपना कोड दोबारा जांच लिया, और सबकुछ आपके जैसा सुझाव दिया गया है। –

+0

यह पूरी तरह से बकवास @Mudu है, आपको पहले कोशिश करनी चाहिए और मुझे अपने समय के लिए धन्यवाद देना चाहिए। –

+0

हमें एक-दूसरे को गलत समझा जाना चाहिए। मैंने वास्तव में आपके द्वारा लिखे गए प्रयासों की कोशिश की, लेकिन यह काम नहीं कर रहा है। इसके अलावा, अगर आप नाराज महसूस करते हैं, तो मैंने आपके जवाब को वोट नहीं दिया। –

संबंधित मुद्दे