Here are excepts from a recent email conversation with a friend:
Me:
Why are you using an IFrame? I’m really disliking the IFrame part so we need to start there :)
Him:
I’m using an IFrame because it offers the advantage of being able to create a single menu bar on the parent module which can control the entire application. I don’t have to duplicate the menu bar in each user control of each module I use. It also resolves the annoying problem of the DNN site reverting to the admin skin every time I switch to a new user control.
Me:
Use MultiView controls as outlined here:
Module Navigation Options Then you could have one menu bar and multiple pages and it would not switch to the Admin skin.
Him:
Multiview controls would work fine if I had a small number of views. The application is in its infancy and there are already 10 different views to display. It is foreseeable that the final application will have in excess of 50 views. That sounds like an unmanageable number. Am I wrong?
Me:
I hate to use dynamically loaded controls for navigation but I like it better than IFrame
see:
DynamicForms. This will obviously handle unlimited controls.
Him:
Can you clarify why you don’t like the IFrame solution?
Me:
Look at this page (one of my own pages) and see why I hate IFrames:
Him;
Yeah, OK. I see your point. That page isn’t very pretty.
However, it does roughly represent the kind of look and feel I’m going for. It has a menu outside the IFrame and the contents displayed within. As a web site it’s not pretty but as an application it can be elegant.
So here it is in a nutshell. The client has an existing website that uses DNN 4. They want to be able to have their clients log into this website to use their online application. It has something to do with their business development strategy. I will create a page that is only visible by certain DNN roles. This page will contain my IFrame module. This means that I’m leveraging the already tested and secure DNN user authentication technology and don’t have to write my own.
Me:
Using DotNetNuke like this is like using an 18 wheel truck to drive around the corner. Yes it will work but it's a bit of overkill :)
I consulted with a client that had a dating site. The site was normal ASP.NET but one section used DotNetNuke (I think it was the forums). The client wanted to expand the site. They were disappointed to find out that it would cost big $$$ to convert the existing site (that was quite extensive) to DotNetNuke. This was required to do ANYTHING else. For example, they wanted the signup information (the city the user was in) to determine what forums they saw.
You would have the same problem. You could not simply buy an off the shelf DNN module that would work with your custom module if it is outside of DNN. Leveraging DNN in this manner is the real benefit of using DNN.
You indicated that your client wants you to use DNN. Why is that? Is it just for the pretty skins or does the client wants to continue to develop the site? If so I would not advise going down the IFrame road.
Him:
I like the 18 wheeler analogy :)