I would like to say a word of warning: Do not try to approach JavaScript identically to how you approach C#. They have a bit of significant differences, especially in their inheritance schemes and general object modeling approaches. To do so would be to dismiss what JavaScript's benefits are over C# and more dangerously it would be dismissing the cons it has compared to C#.
Treat JavaScript like JavaScript, and write it in the way it wants to be written and you will be better off. Avoid the frameworks that try to give you C#'s inheritance models as they're antithetical to JavaScript to begin with.
That said, by all means if you know SOLID well you can apply the principles in what you're doing, the ways you avoid breaking them just may be different.
Now then, as for Frameworks, personally as another C# dev I have found JQuery to be hands down the best to work with and feels most similar to working with the .NET framework to me in that it gives you tools but doesn't force your model in any way.
I would personally say if like me you're a back-end guy which I'm guessing to be the case considering you're now asking about what front-end framework to work with: Stay away from the large frameworks that try to force an object model structure onto you. Stick with JQuery and other utilitarian ones like it, I can suggest Handlebars for templating. Other than those (and similar ones you'll find, oh yeah moment.js is a great utility) I would say avoid the overarching "you must use this pattern" frameworks, as it's uncomfortable to a C# developer used to making the pattern and system model that fits their problem rather than the one that fits their technology stack.
Go read a little lisp/scheme and try to pick that up a bit if you're not familiar with it on the side while you're starting on this project and it should help you to get closer in mind with some of the techniques and approaches that are more rational to JavaScript but which C# doesn't really present so much.