I’ll throw my 2 cents in here: I will agree that by default this shouldn’t be needed. I’d rather add the ViewData model type to the aspx page itself.
What do I mean?
public partial class Employee : ViewUserControl<Core.Domain.Employee>
Quite honestly I think that is about all I use the code behind files for in the views. There were some cases I would handle the page load event and bind to a Repeater, but those were typically not the approach I would use (I opted for a HtmlHelper, ie. Html.Grid or Html.Repeater instead).
So, I like the idea of defining the ViewData<T> type in the actually aspx and then not require this additional code behind file.
Personally, I’d keep both available, making Tim Barcz’s technique the default