When i first started learning .NET in 2003, i downloaded IBuySpy portal for sample codes. Soon enough, DotNetNuke was born, and today, i run a business with DNN at its core!
DNN is perfect for your 'template' requirement; in DNN, we call it 'Skinning'. And there are more than 20 modules to handle different types of content (such as Events, Announcements, Feedback, HTML, Media etc).
One of the reasons i choose to work with DNN is because of the core framework. It handles all the basic stuff like authentication, role-based authorisation, mail sending and user profiling. This allows me to focus more on the client specific requirements where custom modules need to be developed.
My suggestion: download DNN and give it a try. You really got nothing to lose. If it suits your needs, HOORAY! If not, you have sample codes (that has progressed over the years) to learn from.