Great question!
Right now a HUGE percentage of the market is focusing towards the .net platform. Although the .NET platform as a "whole" has not been standardized. International standards organizations Ecma International and ISO/IEC define the standard for the .NET executable environment (known as the Common Language Infrastructure, or CLI), and .NET executable format (known as Common Intermediate Language, or CIL), but excluding most of the foundation classes (the Base Class Library, or BCL), etc. WILL very soon be a standard programming format.
To date, NO part of Java has been standardized by Ecma International, ISO/IEC, ANSI, or any other third-party standards organization. While Sun Microsystems has unlimited and exclusive legal rights to modify and license its Java trademarks, Sun voluntarily participates in a process called the Java Community Process (JCP) that allows interested parties to propose changes to any of Sun's Java technologies (from language and tools to API) via forums, consultation exercises and expert groups. The JCP requires a membership fee for commercial contributors, while non-commercial contributors and individuals can join for free.
The primary implementation of the Java platform is available as an Open Source implementation called OpenJDK. This allows you to freely explore the benefits of java and it's open source would make for a "no initial cost" to self learn the language.
Simply put Java is resource consuming (computer hardware requirements )programming language and takes a detailed and effective coding techniques to make it run with older systems. However Java is a top notch (older) model that required Microsoft to step up their game. Microsoft has invested hundreds of millions in this development and continues to recruit and educate developers. Microsoft still has a leading edge in corporate america and most companies will continue to use their model.
Basically it is most likley that ASP.net will very soon be an international standard. Java, is open source and the initial investment for the training will possibly require a less finincial investment, however ASP.net is rapidly becoming the new standard for Microsoft based infrastructure systems and programs.
Understanding both platforms will be crucial to ensure you as an expert in companies needs, many will require both.
Personally I would recommend what you are the most familiar with at first.
Over all with the .net integration of .net infrastructure for accessing databases, or building GUI and Web applications, such as Windows Forms, ASP.NET and ADO.NET will be the most diverse and sought after personnel. Any Microsoft certifications will probably be more desired and most likely paid more for a moderate period of time. Remember most Networks, home pc's and advanced web platforms and database integration as an entire solution for major corporations will remain Microsoft based for some time.
While Microsoft has developed C# and .NET without a formal community contribution system, the language and some parts of the executable format and runtime have been standardized and freely distributed through Ecma and ISO in an open and vendor-neutral process, rather than a process that retains veto and copy rights for Microsoft.
Microsoft is distributing a shared source release (version 1.0) of the .NET virtual machine that can be compiled and used on Windows, FreeBSD, Mac OS X, and other platforms.[13] An updated version (2.0) is currently available, but the only officially supported platform is Windows.
Keep it simple.... go with .net ALL Windows / Microsoft operating systems and server infrastructure will be leading this curve. But if you know alot more about the Java platform language then go with them, if not Go with the .net. Certainly if you know any VB or C+.