2010-11-18 3 views
1

Je modifier le logiciel achats sur Internet nopCommerce et j'ai une erreur de compilation étrange à la recherche ..ASP.NET erreur de compilation d'événements OnClick

dans le fichier: CheckoutShipping.aspx Je:

<div class="button"> 
      <asp:Button runat="server" ID="btnNextStep" Text="<% $NopResources:Checkout.NextButton %>" 
       CssClass="newaddressnextstepbutton" ValidationGroup="EnterAddress" OnClick="btnA"/> 
</div> 

et en CheckoutShipping.aspx.cs:

protected void btnA(object sender, EventArgs e) 
{ 

    if (Page.IsValid) 
    { 

     ctrlCheckoutBillingAddress.SelectCurrentAddress(); 
     ctrlCheckoutShippingAddress.SelectCurrentAddress(); 

     if (!this.OnePageCheckout) 
      Response.Redirect("~/checkoutshippingmethod.aspx"); 
    } 
} 

Je reçois:

Compiler Error Message: CS1061: 'ASP.checkoutshippingaddress_aspx' does not contain a definition for 'btnA' and no extension method 'btnA' accepting a first argument of type 'ASP.checkoutshippingaddress_aspx' could be found (are you missing a using directive or an assembly reference?)

Source Error:

Line 28: Line 29: Line 30:
" Line 31:
CssClass="newaddressnextstepbutton" ValidationGroup="EnterAddress" OnClick="btnA"/> Line 32:

J'ai vérifié que le fichier de code de classe & dans les fichiers aspx et aspx.cs correspond (et ils le font).

Suppression de la partie OnClick de la déclaration de bouton dans le fichier aspx (ou en le modifiant par exemple OnClick = "Page_Load") aide.

Quelle pourrait en être la raison? Dois-je enregistrer mes fonctions quelque part?

+0

application web ou site web? Si c'est le cas, vérifiez le fichier page.aspx.designer (pour vous assurer que le délégué a bien été créé). si ce dernier - vous devez attribuer manuellement le délégué (je crois) – RPM1984

+0

Je joue avec asp.net depuis un moment, mais je ne savais pas qu'il existe deux modèles (application web et site web). Je ne peux pas vraiment savoir lequel est utilisé, mais j'ouvrais le projet par Open-> Site-> Local IIS. Ce qui est plus la compilation partielle est possible, donc je pense que c'est un projet de site Web. Pouvez-vous expliquer plus au sujet du délégué? Je sais à coup sûr qu'il me manquait la déclaration du bouton dans le fichier .designer.cs, mais sans OnClick il compilé quand même. Je ne sais pas ce qui se passe ici – kubal5003

Répondre

0

Supprimer nom de l'événement en utilisant la fenêtre de la propriété et supp encore une fois que cela aiderait quelques fois ou tout simplement l'enlever et supp avec un nom defferent J'espère que cela fonctionne

Alors qu'il a encore happend

essayer de le faire programatically je veux dire supprimer l'événement de htmls et l'ajouter dans votre chargement de la page

protected void Page_Load(object sender, EventArgs e) 
    { 
     ... 
     btnA.Click += new EventHandler(btnA_Click); 
     ... 
    } 

    void btnA_Click(object sender, EventArgs e) 
    { 
     //you stuff here// 


    } 

espérons que cela fonctionne :)

+1

Il semble que j'ai trouvé la solution .. La méthode à laquelle je faisais allusion a eu des erreurs et je suppose que le compilateur asp.net a une configuration étrange qu'il utilisait la version précédemment construite. J'ai téléchargé une version de la boutique avec des sources complètes, j'ai fait les changements et ensuite VS a pu me montrer ce qui ne va pas. – kubal5003

+0

J'avais tort. Le problème n'est pas résolu. Cela fonctionne sur le serveur de développement d'iis mais pas sur le vrai IIS. – kubal5003

+0

oom c'est plus compliqué alors :( – Kiarash

0

J'ai eu la même erreur ...

Hériter = « » correspondait au nom de fichier, a essayé de modifier les propriétés du bouton de Surclic à OnClientClick .. et rien vice versa .. travaillé

La solution simple qui a fonctionné pour moi était, en changeant le CodeBehind à CodeFile ...