Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementRecharger un module ou une pageRecharger un module ou une page
Précédente
 
Suivante
Nouveau message
25/03/2008 10:19
 

Bonjour,

Voila mon problème j'ai un module que j'ai crée qui sert à rentrer des informations dans ma base de données, lorsque j’appuie sur le bouton qui correspond, il envoi les données dans ma table et tout ce passe correctement.

J'ai un deuxième module qui récupère ces données et les affichent mais ce module ce trouve sur la même page que le premier, évidemment il n'affiche pas les données que je viens de rentrer et le problème est là.

J'aimerais qu’il m’affiche les données que je viens de rentrer donc pour cela j’aimerais recharger mon module ou la page complètement ce qui est plus facile je suppose.

Merci d'avance pour l'aide.

 
Nouveau message
25/03/2008 13:30
 

Bonjour,

Pour recharger la page complètement, tu peux utiliser la fonction Response.Redirect(NavigateURL()).

Autrement, tu peux activer le paramètre SupportsPartialRendering dans l'édition des deux contrôles du module incriminé (et nottament pour celui qui affiche les données) (Hôte > Module > Editer un module > Editer un contrôle), et utiliser la communication intermodule comme suit :

Module qui envoie :

       Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
' Ici on lefait au Page_Init, maistoi tu ferais mieux de déclencher ce truc à un autre moment, genre après les méthodes du Click sur le bouton de sauvegarde.
            Dim objArgs As New ModuleCommunicationEventArgs("Classe de contenu dans son nameSpace, nom de la DLL", La valeur à envoyer exemple Me, Me.ModuleId.ToString, TargetModuleId.ToString) ' Ici on est dans un modèle (Type, Valeur, Sender, Target).
            RaiseEvent ModuleCommunication(Me, objArgs)

        End Sub

 

Module qui reçoit :

Inherits PortalModuleBase
Implements IActionable
Implements Communications.IModuleCommunicator
Implements Communications.IModuleListener

Public Event ModuleCommunication(ByVal sender As Object, ByVal e As DotNetNuke.Entities.Modules.Communications.ModuleCommunicationEventArgs) Implements DotNetNuke.Entities.Modules.Communications.IModuleCommunicator.ModuleCommunication

 Public Sub OnModuleCommunication(ByVal s As Object, ByVal e As DotNetNuke.Entities.Modules.Communications.ModuleCommunicationEventArgs) Implements DotNetNuke.Entities.Modules.Communications.IModuleListener.OnModuleCommunication

If Not e.Sender = Me.ModuleId.ToString Then 'Le sender ne doit pas être le receiver
If (e.Target = Me.ModuleId.ToString) Then ' Le receiver doit s'assurer que la communicaton est bien destinée à lui

' Bien entendu les deux tests précédents sont facultatifs, quoique le premier reste logique. Je les ai dans mon code car dans mon cas le module communique avec un autre module du même type.

 End If
 End If
 End Sub

 

De cette façon, tu auras un module qui enverra un message une fois les infos sauvées dans la base, et un module qui se rechargera lorsqu'il en recevra l'ordre.

 

seb

 
Nouveau message
25/03/2008 16:58
 

Merci beaucoup ça fonctionne tres bien.

 

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementRecharger un module ou une pageRecharger un module ou une page