2010-08-03 17 views
0

J'ai créé un module DNN personnalisé avec 2 fichiers .ascx que j'ai installés avec succès sur un site Web DNN existant. Mais lorsque j'ajoute le module créé sur mesure à une page, rien ne se passe. Aussi dans la page des définitions de module, mon module est montré comme "non utilisé".Le module DNN personnalisé ne peut pas être ajouté à la page

Une idée de ce qui se passe? J'ai vérifié la visionneuse de journal, il n'y a aucune entrée qui est liée à mon module.

Informations additionnelles: Visual Studio 2008, .NET 3.5, la version 05.01.04 DNN

Répondre

3

Votre problème est très probablement dans les définitions de module pour le module. Vous devez avoir l'un des contrôles répertoriés comme type de contrôle de 'vue'.

En général, pour afficher un usercontrol spécifiquement (et pas d'autres modules sur la page), vous demandez sous le format de Url: example.com/pagename/tabid/xx/ctl/ctlkey/mid/yyy/default aspx

Où: xx est le tabid yy est l'id Module ctlkey est la clé de la commande telle que configurée dans la définition de la commande de module.

Chaque module DNN a un type de 'vue' qui signifie que/ctl/ctlkey/mid/yyy n'a pas besoin d'être inclus dans l'URL - donc une URL standard de example.com/pagename/tabid/xx/ defualt.aspx montrera tous les modules sur la page, en particulier les contrôles qui ont un type de 'vue'. Pour cette raison, le type 'view' n'a pas de clé associée. Pour résoudre votre problème, accédez à la page des définitions de module, cliquez sur le module, puis vérifiez qu'un contrôle de type 'view' est répertorié et que le type de vue pointe vers un contrôle de module réel.

Enfin, ne pas oublier qu'il pourrait travailler OK mais votre module ne produit pas réellement une validité Html. Cela peut être vérifié en mettant un point d'arrêt dans le chargement de la page pour le contrôle et voir si elle est déclenchée.

0

Je voudrais vérifier dans les extensions que les contrôles sont enregistrés. Si elles ne sont pas la première pièce du puzzle - si elles sont, vous pouvez simplement réinstaller le module.

Avez-vous déjà utilisé le module ailleurs?