Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

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!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Adding custom .aspx web forms to DNN siteAdding custom .aspx web forms to DNN site
Previous
 
Next
New Post
8/24/2009 4:42 PM
 

Jon Seeley,

I was reading your post about adding custom aspx page rather than using modules.  I am new to DNN and using it to build quite large web site so I will need to create quite a few modules to enable full functionality according to business requirements.  You mentioned that sometimes you add ASPX/ASHX page to DNN rather than using modules.   Is there a module limitations that would ever make me choose stand alone aspx page over doing the module.    The reason I am asking is because before I decided to go with DNN as a framework I created few posts asking if I would ever come across situation that would limit me in some way or would be too complex to over just building it from scratch.   All responses to it were that nobody who extensively worked with DNN has experienced it.  Have you?

 

IN any way, if I do choose to use stand alone ASPX page, as you recommended I just place it along with the modules and create a link to it, however, how do I go about reusing skins? Do I just use Master page or I have to recreate design in my ASPX page?

 

Thanks

 

Dmitry

 

 
New Post
8/27/2009 10:52 AM
 

Dmitry,

The times I have used a custom ASPX/ASHX page is because I didn't want all the extra overhead of DNN when loading those pages.  An example with the ASHX is when I want to dynamically load an image based on some sort of criteria such as in an eCommerce module, loading the image based on an imageID (from the database).  Or perhaps I want to expose export functionality to export a CSV, PDF, or otherwise based on data in the module.  I certainly don't want the entire page lifecycle loading up with that... all I want is to export that document and move on.

The ASPX pages are a little more complicated when or why I would choose them.  My day job is working for a financial institution and sometimes our financial backend needs to request data from the intranet or other applications I've written; web-services would be an excellent shoe-in in these instances but the programmers working on that end don't really understand how all that works -- they can post out to a web-page and then wait for data to come back in a "special" way.  So I accomodate them; my ASPX pages are for the sole purpose of accepting information from the financial package and then posting it back out so the financial software can accept and parse my data.

Another example of using an ASPX page is a company calendar I wrote which shows all the different events and allows employees to sign up for events.  The signup isn't merely clicking it... sometimes they need to fill out additional information, choose a timeslot, etc; it would be a "heavy" process to load that all into a hidden panel and then show it when necessary so I opt to "popup" the information in a dialog and load it on a separate ASPX page. Again what it comes down to is that I don't want all the extra DNN lifecycle loading with it... I only want the bare minimum to keep the page light and load fast.

You ask if DNN itself is limited in any way and in my experience I'd have to say no.  I have never found a task that I couldn't accomplish with it.  I've built a lot of HUGE custom modules for internal consumption at my day job; our intranet runs DNN and I have built that thing up to the point where our employees use it extensively.  Our custom user directory alone gets 15k hits per week.

Lastly, you wonder if you should package the ASPX up with a module and place a link.  That is what I have done, I find it easier to package it that way so I know where the file is.  You could just as easily drop it into the root of your DNN folder and then drop your DLL into the bin (or if it is VB.NET you can simply allow it to dynamically compile with the app upon request; you can likewise drop it into another folder if a C# file and then tell the web.config that said folder contains C# code).  I prefer to precompile all my code, keeps it fast and ensures I catch all compile-time errors before somebody else does.

Skins; you can reuse a skin on your ASPX page by inheriting from DotNetNuke.Framework.PageBase... I can't remember the rest of the steps, but by inheriting your ASPX page from that class you gain access to the DNN framework.  The problem here is that the second you do this you'll have to dynamically add your controls to the appropriate panes instead of just having them simply inside your ASPX page normally.  I'd probably convert my skin to a master page if you had a ton of ASPX pages you wanted to handle this way but I hope from above you see that the ASPX page should only be used in pretty special circumstances.

Hope that was informative and helps set you up.  Let me know if I can help out more in the future.


-- Jon Seeley
DotNetNuke Modules
Custom DotNetNuke and .NET Development
http://www.seeleyware.com
 
New Post
9/5/2009 2:31 PM
 

John,

 

Thanks a lot for very detailed explanation what is extremly helpfull.   As I understand using ASPX page in DNN is very simple taks but should be used in rair circumstances.  And as I understand these circumstances is mostly related to overhead of DNN page lifecycle.   Just wondering is the overhead such big or it is just your chosie to have better perfomance?

 

BTW, you mentione that your intranet is bult on DNN, what about your public site, is it as well?

 

Thanks again.

 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Adding custom .aspx web forms to DNN siteAdding custom .aspx web forms to DNN site


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out