ranjenanil
ranjenanil

Reputation: 308

module communication not working in DNN

I am using DNN6 and i creted two modules and tried to connect between them using module communicator, here is my code:


#region IntermoduleCommunication
ModuleCommunicationEventArgs oArgs = new ModuleCommunicationEventArgs();
oArgs.Value = Session["ShoppingCart"];
if (ModuleCommunication != null)
 ModuleCommunication(this, oArgs);
#endregion

but i am getting 'null' in the ModuleCommunication variable?

Upvotes: 1

Views: 614

Answers (4)

user1379916
user1379916

Reputation: 49

To get this working you need to implement the IModuleCommunicator interface. Right click on the IModuleCommunicator as showed below and extract the interface.

public partial class MyClass: PortalModuleBase, IModuleCommunicator

once extracted the following will be generated

 public event ModuleCommunicationEventHandler ModuleCommunication;

I call it from a button click event

protected void btn1_Click(Object sender, EventArgs e)
        {
    if (ModuleCommunication == null) return;

                ModuleCommunicationEventArgs args = new ModuleCommunicationEventArgs();
                args.Sender = this.GetType().ToString(); ;
                args.Target = "MyTarget";

}

wrap the whole thing in a try catch block to catch exceptions......hope this helps

Upvotes: 1

Orvid King
Orvid King

Reputation: 1218

The answer here is simple, you've forgotten exactly how events work, they are just like any other object, you have to instantiate them. aka.

public event ModuleCommunicationEventHandler ModuleCommunication = new ModuleCommunicationEventHandler(SomeStaticMethodThatWillBeCalledByDefault);

Upvotes: 0

Prashant Lakhlani
Prashant Lakhlani

Reputation: 5806

From whatever code you have provided, it should work. In order to get help you need to provide code for both IModuleCommunicator and IModuleListener implementation. But you can review Example implementation here. Let me know if you need more help.

Also if you are not using latest version of dnn, please try testing it by creating of latest dnn instance. Let me know if you need more help.

Upvotes: 1

Chris Hammond
Chris Hammond

Reputation: 8943

Are you wrapping the modules in an update panel, (have the supports partial rendering option enabled) in the DNN manifest?

If I recall correctly, IMC won't work via UpdatePanels.

Upvotes: 1

Related Questions