First, lets take a step back and get clear on what you're trying to accomplish by testing the UI page and controls. Are you just trying to see that your application data can be rendered in a page/control?
In my experience it takes an order of magnitude more work to test the web UI layer than it does to test your nicely separated business and data layers. If you design your application following a solid MVC pattern you can easily automate testing of the Controller and Model layers which include all the data access and business rules. This should be done using MSTest, NUnit, or XUnit, etc.
Your web presentation layer (i.e. web .ASPX pages and .ASCX user controls) should just be hooked in to the same business logic via the controllers...which will have been already tested.
If you believe in the 80/20 rule, in this case it means 80% of your application will be tested with 20% of your effort. Going the extra mile to automate testing of individual pages and controls is overkill for most projects; instead, I recommend just creating a load test in Visual Studio, recording basic use cases such as logging in, loading a few pages and interacting with a few page controls.
Run this load test to verify the application is behaving correctly in your development and test environments, and once in production you'll need actual users to verify that everything is working correctly anyway.
To see documentation on the ASP.NET MVC2 framework click here
To see a general description of the MVC pattern click here