I would advise you do one thing really well but have some exposure to others. In your case that seems to be ASP.NET/C# so that would mean being proficient in:
- C#
- ASP.NET
- Javascript
- HTML
- CSS
- Visual Studio
- At least one source control system (eg Subversion, Git or VSS)
- SQL
- Basic knowledge of at least one database, probably SQL Server
- Basic IIS
If you know these well then picking up other things later becomes much easier.
There isn't much point in knowing PHP or Java as those two are technology stacks aimed at doing much the same thing. It's far more useful to know your way around up and down the tech stack than broadly across several knowing none of them very well.
As a junior developer the technical skills are king. As you gain more experience and responsibility the business side becomes more important. Some developers see the technology as an end in itself. It isn't. It's a tool designed to solve a problem.
Knowing how businesses work is useful but initially it's not as important as getting a solid technical foundation.
Sufficient background knowledge I think would be on the level of first year university/college business units.