Quelle est la différence entre CodeFile = "file.ascx.cs" et CodeBehind = "file.ascx.cs" dans la déclaration d'un contrôle utilisateur ASP.NET?
Un est-il plus récent ou recommandé? Ou ont-ils un usage spécifique?
CodeBehind : doit être compilé (modèle ASP.NET 1.1). Le binaire compilé est placé dans le dossier bin du site Web. Vous devez effectuer une compilation dans Visual Studio avant de déployer. C'est un bon modèle lorsque vous ne voulez pas que le code source soit visible en texte brut. Par exemple lors de la livraison à un client à qui vous n'avez pas l'obligation de fournir du code.
CodeFile : vous fournissez le fichier source avec la solution pour le déploiement. Le runtime ASP.NET 2.0 compile le code si nécessaire. Les fichiers compilés se trouvent dans Microsoft.NET [version .NET] \ Fichiers ASP.NET temporaires.
Le fichier Codebehind doit être compilé avant de s'exécuter, mais dans src, nous n'avons pas besoin de compiler puis d'exécuter .. il suffit de sauvegarder le fichier.
la source
but in src
- tu veux direbut in the CodeFile
?Je travaille avec un projet d'application dans Visual Studio Express 2012 pour le Web et j'utilise .NET 4.0. Dans le code derrière les fichiers pour mes pages de connexion et de changement de mot de passe, j'ai trouvé une situation où j'avais besoin à la fois de CodeBehind et de CodeFile dans la déclaration.
Si je n'ajoute pas de référence de fichier de code comme
La page Web n'analyse pas et le navigateur affiche une erreur d'analyseur. Peu importe que je compile le projet ou non.
Si je n'ajoute pas de code derrière une référence comme
Les références aux classes de sécurité telles que MembershipUser échouent à la fois au moment de la compilation et lors de la tentative d'utilisation d'intellisense avec une erreur telle que "Le type ou l'espace de noms MembershipUser est introuvable". J'ai ajouté une référence à System.Web.ApplicationServices comme requis par le framework .Net 4.0.
Je dois ajouter que ces fichiers gênants s'exécutent dans une application du site Web créée à l'aide de l'outil d'application IIS. Lorsque j'ouvre le site Web à partir de Visual Studio, je n'ai aucun problème avec les erreurs d'analyseur ou les erreurs de référence. Cette confusion se produit uniquement lorsque j'ouvre l'application en tant que projet dans Visual Studio.
la source