I try to program by SOLID principles.
I think TDD is a really, really good idea. Fixing a bug once is enough.
ASP.NET is a powerful, but complicated framework. For those of you who aren't familiar with the sequence of events that occurs when you request an ASP.NET page, see the diagram on this page... yeah, there's a lot happening there. And that's for the MVC (model-view-controller) variant... if you get into the older Web Forms ASP, it's even worse.
Angular seems like a lot less work to me, and, in a happy coincidence, a lot less work for the server as well.