The problem is probably that you need to supply a session cookie with your login request.
What you need to do is first make a normal GET request to the login page. Add all response cookies to your CookieContainer and then use the same CookieContainer when making the actual POST login request.
Also, try and mimic the real request as much as possible. Use the same Referer value etc.
Have a look at this question http://stackoverflow.com/questions/3359762/logged-in-to-purevolume-com-programatically/3359934#3359934
Edit: Depending on how the site you are trying to login to is designed you might need to parse and supply the ViewState data as you suggested. But since an initial GET request most likely already is required this shouldn't be to hard to do.