2011-12-08 10 views
5

Zarówno Page_PreRender, jak i Page_Load nie działają na stronie wzorcowej, nad którą pracuję. Page_Init robi jednak z jakiegokolwiek powodu. AutoEventWireup jest ustawione na true.PreRender na stronie głównej ASP.NET nie uruchamia się

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 
    } 
} 

Próbowałem go również w pustym projekcie internetowym. Tam działa dobrze.

Edit: I zorientowali się, że ustawienie EnableViewState do true poprawki IT:

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

Ale nie chcemy ViewState być włączona. Nadpisywanie OnPreRender działa również bez względu na to, jaką wartość ma EnableViewState. Teraz zastanawiam się, dlaczego, i po prostu użycie sposobu przesłonięcia wydaje mi się hacky. Czy ktokolwiek może pomóc?

+0

dlaczego oczekujesz, że metoda Pool zostanie wywołana w ogóle w klasie myMaster? –

+0

Przepraszam, to jest konstruktor. Kopiuj + wklejanie-fail podczas kopiowania kodu z kilku okien do wpisu. –

+1

czy wywołujesz stronę, która odwołuje się do twojej strony wzorcowej? – slfan

Odpowiedz

-1

Proponuję użyć AutoEventWireup w dyrektywie stronie, więc proszę spróbować, jak poniżej:

w twojej dyrektywy page <%@ Page ..., użyj AutoEventWireup="true" i na stronie głównej, usunąć subskrypcję PreRender zdarzeń:

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

Mam nadzieję, że teraz wszystko jest w porządku, dziękuję za poświęcony czas.

Edit: Proszę sprawdzić w pliku web.config i upewnić się, że AutoEventWireup nie jest ustawiony na False.

+0

Dzięki tobie, Elias. Niestety nie jest jeszcze. Sprawdziłem dwukrotnie mój kod i wszystko było jak sugerowałeś. –

+0

To całkowicie nonsensowne @Mudu, powinieneś najpierw spróbować i daj mi znać, dziękuję za poświęcony czas. –

+0

Musimy źle się zrozumieć. Rzeczywiście próbowałem tego, co napisałeś, ale to nie działa. Poza tym nie głosowałem na twoją odpowiedź, na wypadek, gdybyś poczuł się urażony. –

Powiązane problemy