2011-09-19 10 views
7

Ho problemi con un webform asp.net che utilizza una pagina principale. Il problema si verifica solo quando la pagina è denominata default.aspx. Quando viene denominato default.aspx se c'è un codice nell'evento Page_Load, gli altri eventi non vengono attivati. Ciò include anche tutto il codice commentato che ho testato gli eventi OnInit e Button, il problema si è manifestato prima con i clic del pulsante che non si attivavano. codiceProblema con eventi nella pagina default.aspx (ASP.net 3.5)

Default.aspx

<%@ Page Title="" Language="C#" MasterPageFile="~/TWS/tws.Master" AutoEventWireup="true" CodeBehind="default.aspx.cs" Inherits="SITMComAU.TWS.original" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="bodyPlaceholder" runat="server"> 
</asp:Content> 

Incendi OnInit: - Controllato via Break Point

public partial class original : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 


    } 

    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     int a = 1; 
     int b = 2; 
     int c = a; 
    } 
} 

OnInit non si attiva: - Controllato Via Break Point

public partial class original : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     /* 
      int y = 5; 
      int z = y - 1; 
     */   
    } 

    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     int a = 1; 
     int b = 2; 
     int c = a; 
    } 
} 

OnInit non si attiva: - Controllato Via Break Point

public partial class original : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

      int y = 5; 
      int z = y - 1; 

    } 

    protected override void OnInit(EventArgs e) 
    { 
     base.OnInit(e); 
     int a = 1; 
     int b = 2; 
     int c = a; 
    } 
} 

Tutto il lavoro di cui sopra se l'aspx, file cs e di design sono rinominato in qualcosa di diverso da predefinito.

Come per la pagina principale. È solo layout, non ci sono funzionalità nel file .cs.

Quello che ho cercato:

  • Il riavvio di Visual Studio
  • Riavvio
  • Rimozione dll, file PDB da bin
  • Voodoo
  • Estrarre i miei capelli
  • Tirando fuori altri capelli

Spero che qualcuno possa aiutarti!

+0

Quali altre pagine avete? Qualcuno di loro ha il nome "Default"? I progetti ASP.NET hanno il fastidio di non implementare correttamente gli spazi dei nomi automaticamente (se non del tutto), quindi potrebbe essere che tu abbia conflitti di tipo (cioè abbastanza in modo che gli eventi siano legati a _other_ 'Default', forse.) –

+0

@Mr . Delusione il progetto è un sito web, poche directory in profondità. Alcuni di questi hanno pagine default.aspx. Stavo pensando lungo le linee samw che è il motivo per cui la classe è "originale" non "predefinita" o "_default" –

+1

Stranamente, Voodoo di solito funziona :) – onof

risposta

0

Provare a cambiare il namespace e/o la classe codebehind e vedere se questo risolve il problema. In tal caso, è probabilmente a causa di interferenze di altri eventi/controlli della pagina di default.aspx.

+0

Come menzionato negli esempi, la classe non è "predefinita" ma originale –

+0

A causa della pratica di denominare le classi default.aspx su "originale", ho pensato che forse fosse in conflitto da qualche parte. Hai provato a cambiarlo in qualcos'altro solo per i calci? Forse SITMComAU.TWS.originalXYZ. Questo almeno getterà quella teoria fuori dalla finestra. –

+0

la pagina non verrà nemmeno eseguita se il codice della classe non è correttamente denominato o duplicato; non verrà nemmeno compilato. Questo non può essere. –

1

Può essere che l'evento venga generato e che sia solo un problema con il debugger di Visual Studio che non si ottiene il punto di interruzione. Prova a scrivere un file e vedere se ciò accade.

Problemi correlati