New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

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.


Aderson Oliveira (22)
Alec Whittington (11)
Alessandra Davies (3)
Alex Shirley (10)
Andrew Hoefling (3)
Andrew Nurse (30)
Andy Tryba (1)
Anthony Glenwright (5)
Antonio Chagoury (28)
Ash Prasad (37)
Ben Schmidt (1)
Benjamin Hermann (25)
Benoit Sarton (9)
Beth Firebaugh (12)
Bill Walker (36)
Bob Kruger (5)
Bogdan Litescu (1)
Brian Dukes (2)
Brice Snow (1)
Bruce Chapman (20)
Bryan Andrews (1)
cathal connolly (55)
Charles Nurse (163)
Chris Hammond (213)
Chris Paterra (55)
Clint Patterson (108)
Cuong Dang (21)
Daniel Bartholomew (2)
Daniel Mettler (181)
Daniel Valadas (48)
Dave Buckner (2)
David Poindexter (12)
David Rodriguez (3)
Dennis Shiao (1)
Doug Howell (11)
Erik van Ballegoij (30)
Ernst Peter Tamminga (80)
Francisco Perez Andres (17)
Geoff Barlow (12)
George Alatrash (12)
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 (274)
John Mitchell (1)
Jon Henning (14)
Jonathan Sheely (4)
Jordan Coopersmith (1)
Joseph Craig (2)
Kan Ma (1)
Keivan Beigi (3)
Kelly Ford (4)
Ken Grierson (10)
Kevin Schreiner (6)
Leigh Pointer (31)
Lorraine Young (60)
Malik Khan (1)
Matt Rutledge (2)
Matthias Schlomann (16)
Mauricio Márquez (5)
Michael Doxsey (7)
Michael Tobisch (3)
Michael Washington (202)
Miguel Gatmaytan (3)
Mike Horton (19)
Mitchel Sellers (40)
Nathan Rover (3)
Navin V Nagiah (14)
Néstor Sánchez (31)
Nik Kalyani (14)
Oliver Hine (1)
Patricio F. Salinas (1)
Patrick Ryan (1)
Peter Donker (54)
Philip Beadle (135)
Philipp Becker (4)
Richard Dumas (22)
Robert J Collins (5)
Roger Selwyn (8)
Ruben Lopez (1)
Ryan Martinez (1)
Sacha Trauwaen (1)
Salar Golestanian (4)
Sanjay Mehrotra (9)
Scott McCulloch (1)
Scott Schlesier (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)
Steven Fisher (1)
Timo Breumelhof (24)
Tony Henrich (3)
Torsten Weggen (3)
Tycho de Waard (4)
Vicenç Masanas (27)
Vincent Nguyen (3)
Vitaly Kozadayev (6)
Will Morgenweck (40)
Will Strohl (180)
William Severance (5)
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out