Los Angeles, CA *

Creating the DotNetNuke® Survey Module

In C# and VB.NET

(For DotNetNuke Version 4.3.1 or higher)


This tutorial is outdated.

The following tutorial is recommended:

Creating a DotNetNuke Module using LINQ to SQL (Start here!)


To use this tutorial you need:

  1. Visual Studio 2005 or Visual Studio Express (download)
  2. SQL Server 2000/2005 or SQL Server Express (download)
  3. DotNetNuke Install Version 4.x (download)
See Additional Tutorials in the Tutorial Series:

Also see:
 The ADefWebserver DotNetNuke HELP WebSite


You can download C# Version of the Survey Module and the Latest VB Version of the Survey Module


1. Install Visual Studio Express if you haven't already done so. (download)

2. Install SQL Server Express if you haven't already done so. (download)

3. Follow one of the the options below to install DotNetNuke and to create a DotNetNuke Website:


Are you Ready to Create the Module?

You must have a DotNetNuke 4 website up and running to continue.

DotNetNuke is constantly changing as it evolves so the best way to get up-to-date help and information is to use the DotNetNuke message board.

I am sorry I will not be able to respond to individual requests for help on set-up issues. I will be able to help on issues related to the module this tutorial covers.



The DotNetNuke Architecture

The DotNetNuke Architecture is traditionally represented using the graphic on the right.

The first 2 sections are easy to understand and is familiar to anyone who is used to the standard n-tier design.

Presentation Layer (UI) - This is the "face" of your module. This is where you put your buttons that people click on and the boxes they enter information in to.

Business Logic Layer (BLL) - This is where your code that determines what your module will do will go.

Data Access Layer (DAL) - This is the DotNetNuke Data Access Layer. It consists of the Abstract Data Provider 1 or multiple Concrete Providers and the optional Data Access Application Blocks.

From: "DotNetNuke Module Developers Guide"
Copyright © 2003-2005 Perpetual Motion Interactive Systems, Inc. All Rights Reserved.

A DotNetNuke module resides in 2 directories.

The Web User Controls and their associated code behind files reside in the Module's directory that is in DesktopModules directory.

All other code (Data Access Layer and Business Logic Layer code) resides in the the Module's directory that is in App_Code directory.

Developing Modules in C#

You can develop DotNetNuke modules in VB.NET or C# (or any other .Net language). However, if you are developing in a language other than VB.NET you have to add an entry like this to the web.config:

    <add directoryName="Survey" />

This node is in the <system.web><compilation> node, (there is a commented out example in web.config).

You must perform this step because the main project is written in VB.NET and you must instruct the compiler to compile the indicated directory in C#.

This entry is only needed for the files placed in the directory under the App_Code directory.
The code-behind files that are associated User Controls residing under the DesktopModules directory do not need an entry in the web.config file.

Next: Creating The Module


DotNetNuke MarketPlace


(C) by Michael Washington - -

DotNetNuke® is a registered trademark of Perpetual Motion Interactive Systems Inc.