The base class includes the field ‘MyControl’, but its type (common_MyControl) is not compatible with the type of control (ASP.common_mycontrol_ascx)

Κατασκευάζετε ή παίρνετε ένα έτοιμο web user control, το τοποθετείτε σε μια aspx σελίδα σε ένα Web Application, δοκιμάζετε να το τρέξετε, και κατά την εκτέλεση του project, αντί για την σελίδα σας, βγαίνει στον browser κάποιο error σαν το παραπάνω;

 Το πρόβλημα μπορεί να οφείλεται σε προβλήματα με το batch compilation ενός web application, ή σε διάφορα circular references μέσα στο ίδιο το project (όπως χαρακτηριστικά αναφέρεται εδώ). Στην περίπτωσή μου (προσπαθούσα να βάλω ένα ScriptManager και ένα UpdatePanel σε μία σελίδα, και κατά την εκτέλεση χτύπαγε ένα παρεμφερές με τον τίτλο του post error), δεν λύθηκε το πρόβλημα. 

Μία άλλη πιθανή λύση που βρήκα ψάχνοντας είναι η απομάκρυνση του id=”…” από το σημείο του HTML κώδικα που έχει τοποθετηθεί το επίμαχο control. Αυτή η λύση βέβαια έχει και τα μειονεκτήματά της, καθώς δεν μπορεί να γίνει reference το control μέσα από κώδικα. 

Δυστυχώς, ούτε με αυτό τον τρόπο κατάφερα να τρέξει το project επιτυχώς. Αυτό που τελικά έκανα και δούλεψε σωστά το web application μου, ήταν να πάω στο MyWebPage.aspx.designer.cs, να πάρω την δήλωση του control από κει και να την γράψω στο MyWebPage.aspx.cs. Με αυτό τον τρόπο, το project δεν εμφανίζει προβλήματα κατά την εκτέλεσή του.Smile

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s