2010-05-26 4 views
0

J'espère que quelqu'un sera capable de me diriger dans la bonne direction.Comment utiliser un contrôle VB sur une page C#?

J'ai créé un contrôle utilisateur dans VB qui gère la pagination plus efficacement que le DataPager (au moins pour les très grands ensembles de données). Je voudrais l'utiliser dans un projet C#, mais j'ai eu du mal à le faire fonctionner.

J'ai essayé simplement d'ajouter PagingControl.ascx au projet C#, mais quand je le fais, le balisage et le code VB ne semblent pas se voir. --Est-ce un problème d'espace de noms?

J'ai essayé d'ajouter PagingControl.ascx à son propre projet VB, puis d'ajouter ce projet à la solution du projet C#, ainsi qu'une référence. - Cela fonctionne presque. Je peux enregistrer le contrôle PagingControl dans le balisage. Je peux accéder aux propriétés de l'usercontrol dans le code derrière, mais toute propriété qui implique l'interface utilisateur de la commande userc échoue.

Il semble que le formulaire d'usercontrol n'ait pas eu l'occasion de se charger au moment où le gestionnaire d'événements Page_Load de la page C# se déclenche. - Peut-être s'agit-il d'un problème d '«ordre des opérations»? A quel moment de la vie de la page C# le formulaire d'un usercontrol doit-il être chargé?

Si quelqu'un a des idées ou des idées, je l'apprécierais vraiment. Merci d'avance.

+0

"mais toute propriété impliquant l'interface utilisateur du contrôle userc échoue." Quelle est la nature de l'échec? Voulez-vous dire qu'il échoue au moment de la conception (c'est-à-dire que Intellisense échoue) ou à l'exécution (une exception est levée). –

+0

L'erreur que je reçois est: "System.NullReferenceException: Référence d'objet non définie sur une instance d'un objet." Lors du débogage, si je passe la souris sur les noms et les propriétés du contrôle, je n'obtiens pas le message contextuel habituel décrivant le contrôle. C'est comme si ça n'existait pas (encore). Intellisense fonctionne lorsque vous ne déboguez pas. – ks78

+0

Par "noms de contrôle et propriétés", j'entends les contrôles utilisés dans le contrôle usercontrol, pas le contrôle utilisateur lui-même. – ks78

Répondre

1

Vous ne pouvez pas avoir de code VB et C# dans un projet - vous devez le diviser et référencer la partie VB dans le projet C#. Pour l'autre question: aucune idée, car je ne fais pas le web dev.

+0

Jusqu'ici, cela semble être le cas, que VB et C# ne "jouent pas bien ensemble" dans le même projet. – ks78

+0

Il n'est pas pris en charge dans Visual Studio, oui. dans #develop il est réellement. – Femaref

+0

Wow. Je vais devoir vérifier ça. Je ne sais pas si cela aidera avec mon problème actuel, mais cela semble intéressant. – ks78

Questions connexes