Learn More





DNN Community Blog

The Community Blog is a personal opinion of community members and by no means the official standpoint of DNN Corp or DNN Platform. This is a place to express personal thoughts about DNNPlatform, the community and its ecosystem. Do you have useful information that you would like to share with the DNN Community in a featured article or blog? If so, please contact .

The use of the Community Blog is covered by our Community Blog Guidelines - please read before commenting or posting.

Just say no to IFrames

Here are excepts from a recent email conversation with a friend:

Why are you using an IFrame? I’m really disliking the IFrame part so we need to start there  :)

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.

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.

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?

I hate to use dynamically loaded controls for navigation but I like it better than IFrame see: DynamicForms. This will obviously handle unlimited controls.

Can you clarify why you don’t like the IFrame solution?

Look at this page (one of my own pages) and see why I hate IFrames:

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.

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.

I like the 18 wheeler analogy :)


Comment Form

Only registered users may post comments.


2sic Daniel Mettler (125)
Aderson Oliveira (15)
Alec Whittington (11)
Alex Shirley (10)
Andrew Nurse (30)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (22)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (203)
Chris Paterra (55)
Clinton Patterson (28)
Cuong Dang (21)
Daniel Bartholomew (2)
Dave Buckner (2)
David Poindexter (3)
David Rodriguez (2)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (74)
Geoff Barlow (6)
Gifford Watkins (3)
Gilles Le Pigocher (3)
Ian Robinson (7)
Israel Martinez (17)
Jan Blomquist (2)
Jan Jonas (3)
Jaspreet Bhatia (1)
Jenni Merrifield (6)
Joe Brinkman (270)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matthias Schlomann (15)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Mike Horton (19)
Mitchel Sellers (28)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Peter Donker (52)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott S (11)
Scott Wilkinson (3)
Scott Willhite (97)
Sebastian Leupold (80)
Shaun Walker (237)
Shawn Mehaffie (17)
Stefan Cullmann (12)
Stefan Kamphuis (12)
Steve Fabian (31)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (2)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (37)
Will Strohl (163)
William Severance (5)
Try Evoq
For Free
Start Free Trial
a Demo
See Evoq Live
Need More Information?