A couple things I've looked at: 1. The connection string is definetly a working string. If I DO NOT seperate the _init.cshtml stuff from all the pages, it works. Sooo the functions are valid, it works without the _init.cshtml, and all i'm seeing in my error
is cannot find reference to mydll

...

is there any way around having to write down the connection string, object instance, and my exeption on EVERY single page?

Not ideal, but should work for you. In the next release we'll allow you to put an @functions {} block into a file in App_Code and the methods will be globally accessible to any page. That should simplify it a bit.

Re: How to add WebMatrix default parameters?

I am almost completely sure that won't scale and you'll have issues when requests start coming in fast and each request is hitting the same variable. Your object should really be instantiated per request (stuffed in Context.Items or something that lives
for the life of the request)...for now.

We're finishing up new simplified state management for the next release that will make what you're trying to do, much easier. Basically, you'll be able to say Page.dal = new DAL(); and set all your initial properties you need in _Init.cshtml, then in any
web page you can access Page.dal. Simple. :)