DotNetNuke generally does a good job of trying to protect the user from errors. Occasionally, errors can occur that prevents a module from rendering, and may even interfere with container or page rendering as well. When this occurs, the Action Menu which provides access to the delete action cannot be rendered and thus the module cannot easily be deleted from the page.
So how do we solve this problem? The answer is a little counter-intuitive for the new DotNetNuke user. The answer lies hidden in the Admin ControlPanel that appears at the top of the page when an admin is logged on. The standard controlpanel in Figure 1 does not allow us to resolve this problem.
Figure 1: IconBar Control Panel
This control panel was created for the DotNetNuke 3.0 release. However the control panel from DotNetNuke 2, shown in Figure 2, had a method that allowed the admin to hide the rendering of content on the page.
Figure 2: Classic Control Panel
The DotNetNuke 2 control panel is still available in the DotNetNuke 3/4 installation, but it is buried in the Host Settings under the Advanced Settings section. As shown in Figure 3, the control panel can be changed through a dropdown list in the Host/Advanced/Other Settings section. By default this is set for the IconBar in DotNetNuke 3. Change this setting to Classic and you will get the DotNetNuke 2 version of the control panel.
Figure 3: Host Settings for the Control Panel
Now that we have the old control panel visible we can uncheck the Content checkbox shown in Figure 4. Since the page containing our module may not render correctly make sure you change this setting on an admin page before navigating to the page with the problematic module.
Figure 4: Use the Content checkbox to hide the page content.
Figure 5 and 6 show the before and after view of a module in standard mode and when the content is hidden. Notice that although the module content is hidden, the container with the action menu is still visible and thus you can still delete the module.
Figure 5: Module with content showing
Figure 6: Module with the content hidden
Sometimes you may not know which module on a page is causing the problem. Just delete all of them while the content is hidden, then go back to the normal mode and restore the modules one at a time from the Recycle Bin. When you find the module that is causing the problem just hide the content again and delete the single module.
The only downside to this approach is that it requires you to login before you may access the hostsettings. If the problem is on the home page then logging in can be problematic. I recommend that you keep a 'favorites' link to the HostSettings page. This way you will always be able to login to the site, even when the homepage won't render correctly.