it-swarm.it

CodeFile vs CodeBehind

Qual è la differenza tra CodeFile= "file.ascx.cs" e CodeBehind= "file.ascx.cs" nella dichiarazione di un controllo utente ASP.Net?

Uno è nuovo o consigliato? O hanno un uso specifico?

133
Soldarnal

CodeBehind: deve essere compilato (modello ASP.NET 1.1). Il file binario compilato viene inserito nella cartella bin del sito Web. È necessario eseguire una compilazione in Visual Studio prima della distribuzione. È un buon modello quando non si desidera che il codice sorgente sia visualizzabile come testo normale. Ad esempio, quando si effettua la consegna a un cliente a cui non si ha l'obbligo di fornire il codice.

CodeFile: si fornisce al file di origine la soluzione per la distribuzione. Il runtime ASP.NET 2.0 compila il codice quando necessario. I file compilati sono in Microsoft.NET [versione .NET]\File temporanei ASP.NET.

160
Shafqat Ahmed

Sto lavorando con un progetto di applicazione in Visual Studio Express 2012 per Web e utilizzo .NET 4.0. Nel codice dietro i file per le mie pagine di login e modifica password ho trovato una situazione in cui avevo bisogno sia di CodeBehind che di CodeFile nella dichiarazione.

Se non aggiungo un riferimento al file di codice come

CodeFile=login.aspx.cs

La pagina Web non viene analizzata e il browser visualizza un errore del parser. Non importa se compilo il progetto o no.

Se non aggiungo un codice dietro riferimento come

CodeBehind=login.aspx.cs

I riferimenti a classi di sicurezza come MembershipUser non riescono sia al momento della compilazione sia quando si tenta di utilizzare intellisense con un errore del tipo "Impossibile trovare il tipo o lo spazio dei nomi MembershipUser". Ho aggiunto un riferimento a System.Web.ApplicationServices come richiesto dal framework .Net 4.0.

Dovrei aggiungere che questi file fastidiosi sono in esecuzione in un'applicazione all'interno del sito Web creata utilizzando lo strumento di applicazione IIS. Quando apro il sito Web da Visual Studio non ho difficoltà con errori del parser o errori di riferimento. Questa confusione si verifica solo quando apro l'applicazione come progetto in Visual Studio.

5
DavidHyogo

Il file codebehind deve essere compilato prima dell'esecuzione ma in src non è necessario compilare e quindi eseguire .. basta salvare il file.

5
Ranjeet Prasad