Sweet! Got everything working.
As I mentioned in the last post, I dropped back to square one and rebuilt the app one piece at a time to see where the problem was.
I got the login and register pages working first, then went to the data entry page.
Once I built my Linq objects, but before I referenced them, I uploaded everything one more time. I did a diff on the old and new web.config files to see what had changed. There were only two changes: 1) added new connection string and 2) added assembly info for Linq.
A quick check that everything worked well, then I added the code-behind to use the Linq objects to write the data to the database.
Once everything was deployed, I hit the page and… 500 Internal Server Error.
This time I thought about the new App_Code directory where the Linq objects live. Since I did a website instead of a webapp, everything has to compile on the fly when it runs the first time… hmm. Think maybe that directory needs write permissions?
Added write permissions and, hey presto! Now the Linq data entry page works!
It was literally five more minutes to get the data view page working using a Grid View that uses a Linq object as its source.
One thing I did differently this time was change the name of the Linq datasource to something other than the default.
Now I move on to making things pretty. I'll also write up a more detailed set of instructions and post them.