procédure pour importer un ascx depuis le code behind

procédure pour importer un ascx depuis le code behind - C#/.NET managed - Programmation

Marsh Posté le 24-05-2005 à 17:54:24    

:hello:  
 
voila ca fait 3h que je suis dessus et je n'y arrive pas   :cry:  
quelle est la procédure pour importer un ascx afin de puis utiliser le type du .ascx ?
 
j'ai bien compris comment faire mais le problème c'est ca :  
 
MonControl MC = (MonControl) LoadControl("MonControl.ascx" );  
 
car il me dit qu'il n'arrive pas à trouver MonControl...je ne peux donc pas faire de cast et donc pas faire mes méthodes voulues
 
j'ai trouvé ca http://msdn.microsoft.com/library/ [...] ndfile.asp mais sans effet :'(
 
bon alors voila j'ai fait un test.
quand je clique sur le bouton cela doit afficher ok.
 
a.aspx avec a.cs
ab.ascx avec ab.cs
 
voici mon erreur lors de l'execution de a.aspx :

Citation :


Compilation Error  
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.  
 
Compiler Error Message: CS0246: The type or namespace name 'ab' could not be found (are you missing a using directive or an assembly reference?)
 
Source Error:
 
 
 
Line 18:          protected void BtnAcheter_Click(object sender, EventArgs e) {
Line 19:         Control c1 = LoadControl("ab.ascx" );
Line 20:         ((ab)c1).ecrire();
Line 21:     }
Line 22: }
 
 
Source File: C:\projets\site_portail\pages\a.cs    Line: 20  


 
Mes fichiers :
 
a.aspx :

Code :
  1. <%@ Page Language="C#" Inherits="a" Src="a.cs" %>
  2. <%@ Reference Control="ab.ascx" %>
  3. <html>
  4. <head>
  5. </head>
  6. <form runat="server">
  7. <body style="FONT: 10pt verdana">
  8.     <p>
  9.     </p>
  10.     <p>
  11.         ccccc
  12.     </p>
  13.     <p>
  14.         eggg
  15.     </p>
  16.     <p>
  17.         &nbsp;<asp:Button id="BtnAcheter" onclick="BtnAcheter_Click" Text="Acheter" runat="server"></asp:Button>
  18.     </p></form>
  19. </body>
  20. </html>


 
a.cs

Code :
  1. using System;
  2. using System.Web.UI.WebControls;
  3. using System.Data;
  4. using System.Web.UI;
  5. using System.Web;
  6. //ref control=ab.ascx;
  7.     public class a : System.Web.UI.Page {
  8.          void Page_Load(Object sender, EventArgs E) {
  9.          }
  10.          protected void BtnAcheter_Click(object sender, EventArgs e) {
  11.         Control c1 = LoadControl("ab.ascx" );
  12.         ((ab)c1).ecrire();
  13.     }
  14. }


 
ab.ascx

Code :
  1. <%@ Control ClassName="abc" Language="C#" Inherits="ab" Src="ab.cs" %>
  2. <p>
  3.     <asp:Label id="Label1" runat="server">Label</asp:Label>
  4. </p>


 
ab.cs

Code :
  1. using System;
  2. using System.Web.UI.WebControls;
  3. using System.Data;
  4. using System.Web.UI;
  5. using System.Web;
  6.     public class ab : System.Web.UI.UserControl{
  7.     Label Label1;
  8.      public void ecrire() {
  9.      Label1.Text="ok";
  10.      }
  11. }


 
merci pour votre aide :)

Reply

Marsh Posté le 24-05-2005 à 17:54:24   

Reply

Marsh Posté le 24-05-2005 à 21:07:58    

:(

Reply

Marsh Posté le 25-05-2005 à 08:21:21    

:cry:

Reply

Marsh Posté le 25-05-2005 à 14:00:57    

si tu tapes "MonControl MC = (MonControl) LoadControl("MonControl.ascx" );" cela signifie que ton fichier .ascx est au même niveau que la classe faisant le Load (à toi de donner le bon path) ; dans tes classes, je ne vois pas de namespace, sont-elles dans le même ? sinon il te manque un using

Reply

Marsh Posté le 26-05-2005 à 21:54:19    

problème résolu, je marchais sur webmatric et je n'avais pas compilé le code behind :d

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed