You should construct the DAL classes to have a constructor that takes a connection string and preferably a base class to control it.
public abstract class MyDALBase
{
public MyDALBase()
{
}
public MyDALBase(string connString)
{
ConnectionString = connString;
}
protected string ConnectionString{get; private set;}
}
public class MyDAL : MyDALBase
{
public MyDAL() : base(){}
public MyDAL(string connString) : base(connString){}
}
You should look at frameworks like the Enterprise Library Data Access Application Block. DNN is not a good implementation for anything, IMO