Type "_Default" déjà définit un membre appelé "Page_Load' avec les mêmes types de paramètres
J'ai été renommage de certaines classes et de packages dans mon aspx projet et maintenant j'ai cette erreur:
"Type" _Default "déjà définit un membre appelé "Page_Load" avec l'
même les types de paramètre"
J'ai deux pages aspx. Dans le défaut.aspx codebehind je vois:
Par défaut.aspx:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="Default.aspx.cs" Inherits="_Default" %>
Par défaut.aspx.cs:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
//error line under 'Page_Load'
}
de recherche.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="search.aspx.cs" Inherits="_Default" %>
de recherche.aspx.cs:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
}
Chaque nouvelle page ASPX-je ajouter à mon projet est automatiquement ajouté à des noms.
J'ai essayé de changer hérite attribuut. Mais je ne pouvais pas trouver un moyen de corriger cette erreur et de se débarrasser de l'espace de noms.
Je suis à l'aide de Visual Studio 2010.
Quel espace de noms a votre _Default classe?
OriginalL'auteur ThdK | 2011-04-01
Vous devez vous connecter pour publier un commentaire.
Chaque page que vous ajoutez est automatiquement configuré pour l'espace de noms en fonction de votre structure de dossier. Je ne vois pas assez de code et de la structure, mais êtes-vous sûr que vous n'avez pas le Page_Load défini deux fois? Au moins le message d'erreur dit. T-il se comporter de la même, même lorsque vous utilisez différents nom de la classe que _Default ?
Après modifications:
Oui, nous y voilà. Vous définissez une même classe (_Default) dans les deux par Défaut.aspx et de Recherche.aspx ... Vous devriez renommer vos classes, selon les conventions. c'est à dire: l'utilisation de la classe "par Défaut" dans votre Défaut.aspx et l'utilisation de la classe "Recherche" dans votre Recherche.aspx
Oui, bien sûr. Il existe deux options de pourquoi ça ne marche pas. L'un est parce que tu as cette méthode Page_Load définie dans quelques autres de la classe, qui est également partielle "_Default" - toutes les classes partielles sont plus tard "collés" ensemble. Ou il pourrait être un problème avec l'espace de noms, ce qui s'est passé pendant votre renommage et le déplacement des opérations - mais cela est difficile à découvrir sans aucune source.
Édité ma réponse. Vous avez deux fichiers de définition d'une classe (ce qui n'est pas un problème en lui-même - dans certains scénarios), mais la définition même de la méthode dans les deux d'entre eux.
Merci, je l'ai vu quand vous m'expliquer, mais j'ai encore posté la source si quelqu'un d'autre viendrait plus tard, ici, avec la même question. Puis il a toutes les informations dont il a besoin.
Une question de plus. Savez-vous pourquoi visual studio ajouter un espace de noms à chaque aspx.page-je ajouter à ce projet?
OriginalL'auteur Damb
Double-cliquez sur l'erreur, renommer temporairement le
Page_Load
à autre chose. Descendre dans le corps de la fonction et le typePage_Load
. Appuyez Sur La Touche F12. Qui vont vous amener à l'endroit où vous avez deuxièmePage_Load
méthode déjà défini. Vous verrez probablement que c'est dans une autre partielle_Default
classe dans le même espace de noms.OriginalL'auteur František Žiačik
Juste pour ajouter un cas spécifique.
Vous pouvez trouver à cette situation lors de la conversion de Site Web dans une Application Web.
Lorsque votre projet dans le formulaire de Site Web, lorsque vous ajoutez par exemple
Default.aspx
dans deux dossiers différents ils ont tous les deux créé sans l'espace de noms avec le même nom de classe. Tous deux déclaré que partielle et il est tout simplement parfait. Mais lors de la conversion d'Applications Web et d'essayer de construire qu'ils commencent un conflit, ils sont dans le même espace de noms, a déclaré partielle et ont leur proprePage_Load
méthodes.L'une des solutions peut être de donner distincts des noms de classe ou de l'encapsulation dans des espaces de noms différents selon la structure de dossier.
OriginalL'auteur Oybek
Depuis votre classe est
public partial class _Default
c'est probablement certains de nommage qui est à l'origine du problème. Essayez d'identifier l'autre partie(s) de _Default. Puisque c'est une classe partielle, vous êtes en mesure d'avoir autant d'harmoniques que vous le souhaitez.. le Problème est probablement que Page_Load est définie dans un de ces.OriginalL'auteur Yngve B-Nilsen
Ci-dessous suit problèmes que j'ai rencontrés lors de la copie des fichiers dans ma solution, en cliquant sur l'a signalé l'erreur ou sur "accéder à la Définition de" me tromper de repérer la cause. L'astuce est d'une ligne au-dessus..... !
Je suis d'exposer le Problème ET comment j'ai finalement Résolu.
Erreurs lors de la construction de l'application:
Erreur De Type 1, 'Solution1.Web.yourABC' définit déjà un membre
appelé "Page_Load' avec les mêmes types de paramètres
C:\\trunk\Solution1.Web\yourABC.aspx.cs 12 24
Solution1.Web
2 Erreur De Type 'Solution1.Web.yourABC' définit déjà un membre
appelé "Page_Load' avec les mêmes types de paramètres
C:\\trunk\Solution1.Web\GuideABT.aspx.cs 12 24
Solution1.Web
Comment le problème se pose:
J'ai copier/coller d'un fichier .aspx dans la même solution pour faire un nouveau fichier.
C#: Erreur comme ci-dessous ont commencé à apparaître, les pires d'autres erreurs commencé à l'impact de l'application lors de l'exécution:
* Être conscient que l'erreur 1 n'EST PAS une erreur c'est CORRECT, puisque c'est le code source
Les deux classes "Page_Load" sont vides, normalement, ils sont générés automatiquement par Visual Studio Moteur
Solution:
Changer la .cs fichier de créer de nouveaux/collé aspx page afin de refléter le nom de la page après la Classe "nom". Dans ce cas, "GuideABT.aspx" est le nouveau collé & renommé aspx fichier:
La Correction de l'Erreur 1: AUCUNE CORRECTION n'est NÉCESSAIRE, car elle est le copié à partir d'un fichier. ASSUREZ-vous QUE le nom du fichier et le nom de la classe de référence SONT les mêmes dans le .fichiers cs:
Nom de fichier yourABC.aspx, vérifier l' .cs extension des fichiers:
La Correction de l'Erreur 2: MODIFIER le fichier collé. Corriger le NOM de la CLASSE pour refléter le nom de l' .fichier aspx.
Nom de fichier GuideABT.aspx, vérifier l' .cs extension des fichiers:
Code ORIGINAL .cs
CORRIGÉ ce code dans .cs DE
Problème RÉSOLU.
Acclamations.
OriginalL'auteur freddymio