Quel est l'espace de noms la page par défaut.aspx réside dans la création d'un projet ASP.NET? P>
et comment trouver l'espace de noms de toute autre page ASP.NET dans le projet? P>
J'utilise VS2005. J'ai d'abord créé une solution vide puis j'ai ajouté un site Web. P>
Lorsque je clique sur le bouton droit et accédez à "Ajouter un nouveau site Web" - Menu Je trouve les sites Web de modèle suivants ASP.NET (1ère modèle), puis j'ai ajouté ceci à mon SLN. P>
J'utilise C # et VS2005. Cela ne correspondra pas à VS2008 dans ce cas. P>
3 Réponses :
Regardez le code-derrière (par défaut.aspx.cs dans votre cas) d'une page en question. Là, vous verrez votre espace de noms. ASPX est un ajout à la classe dans Code-derrière qui est fusionné à l'aide de la déclaration de classe partielle.
Je viens de créer un nouveau projet d'application Web. C'est ce que le code-derrière ressemble à: p> afin de voir l'espace de nom "webapplication1". Vous le voyez, non? P> a ajouté: donc j'ai créé un projet de site Web à nouveau pour vérifier cela. D'accord, je confirme, je ne vois aucune déclaration d'espace de noms là-bas. Après avoir googling un peu j'ai trouvé ce message: p> ASP.NET - Site Web vs. Application Web (link fixe) p> Le nouveau modèle de compilation a jeté le fichier de projet Visual Studio lui-même, a repris ASP.NET au concept "Compile-On-Fly", tout sauf éliminé l'utilisation d'espaces de noms dans un site Web fort>, et a radicalement modifié le modèle de matrice d'interface utilisateur et le code associé-derrière-derrière ont été arrangés. P>
BlockQuote> De l'apparence de celui-ci, il jette simplement toutes les classes ensemble, les deux classes de page et vos classes de logique personnalisées que vous mettez généralement dans le dossier
app_code code>. La visionneuse de classe ne montre pas non plus les objets de la page même si je les enveloppe dans mes espaces de noms personnalisés, mais cela le fait correctement avec les espaces de noms pour les déclarations du dossier
app_code code>. Je suppose que les gars de l'équipe VS ne voulaient pas vouloir vous soucier des espaces de noms des classes de page. P> P>
Dans quelle planète vivez-vous? Il n'y a pas de déclarations d'espace de noms dans n'importe quel fichier de code ASP.NET.
Est-ce que vous plaisantez? Donnez-moi une minute, je vais vous procurer un exemple.
J'utilise VS2005 et je n'ai jamais vu cela se produire dans mes projets Web.
J'ai fait cet exemple dans VS2008 PRO et je crois que j'ai vu plus ou moins la même chose quand j'utilisais VS 2005. Peut-être que vous créiez des projets de site Web par opposition à des projets d'application Web? Là, l'organisation est quelque peu différente.
Les sites Web n'ont pas / support d'espace de noms. Les applications Web font. P>
Pour répondre à la question, puisqu'un nouveau "site web" est créé, l'espace de noms n'entre pas en jeu. Comment accéder à d'autres classes de page WebForm à partir d'une page WebForm, je n'ai pas compris une raison pour cela. Et je ne pense pas que cela soit fait (corrigez-moi si je me trompe). P>
Quoi qu'il en soit, il y a des moyens de se déplacer. Si vous avez des logiques d'affaires / interface utilisateur / interface utilisateur réalisables utilisées dans une catégorie d'une formes Web, déplacez simplement ces méthodes pour dire XXX.CS Fichier sous App_code. Il n'y a pas besoin d'espace de noms et vous pouvez l'utiliser dans toutes les classes de format Web. P>
J'ai besoin d'hériter des pages .aspx.
Vous voulez dire que vous avez un basepage.aspx avec une classe de codeBind "basepage". Et vous avez un nouveauPage.aspx qui a une classe «NewPage» inhérent «basepage»? Si tel est le cas, lisez ceci: west-wind.com/weblog/posts/3016.aspx sous la section" Quoi de surveiller ". J'espère que cela t'aides.
Essayez de définir une interface dans le répertoire de code d'application et demandez à votre code derrière le fichier implémenter l'interface. P>
Cela dépend du type de projet. Créez-vous une nouvelle "application Web" ou crée un nouveau "site web"?
Cela ne répond toujours pas à la question, quel type de site Web avez-vous ajouté? Il existe deux sites Web et des applications Web (je ne peux pas être plus exacte, je n'ai pas 2005 sur cette machine)
Voir la mise à jour.