Talking of C# and AngularJS, an alternative is to cross-compile C# to JavaScript (with compilers like Saltarelle). I have some projects written this way, but it's not an optimal solution because:
you need a C# import library for Angular (that I've written myself but it's hard to cover all the package)
Angular itself is very JavaScript oriented, with lot of hacks and tricks, doesn't fit well with C#
At this point there is no Visual Studio integrated debugging for C#, you can only debug compiled JS code
working with json and js in general, in C# you find yourself fighting with types, doing lot of conversions and things like that. The dynamic keyword helps but not much.