I am working on a project with complex functionalites. Is Asp.net a right platform to develop complex websites.
you certainly can, but something to consider is how you want to host it your 'complex' site, Running windows servers for example are heavier to run then unix based servers and there is limit on the application pool when working with IIS and managing viewstates for large Postback and ajax calls can be a pain, It all depends on what you're making, but my answer is yes, if your committed to a windows environment.
Creating web site using ASP.net it would means lots of software license cost on server. Somehow if you rent dedicate server, the cost of all the softwares will exceed the cost of server itselfs. So try php instead if you have to pay for the host yourself.
Asp.net is a very good platform for simple and complex websites. It depends on how good you are in asp.net, it can help you to build complex websites easily
asp.net is a great platform for writing web applications. Its true that dedicated servers require a license to run the server. But a VPS and shared hosting does not And windows hosting cost is coming down from what it was. It used to be you'd get windows for $8 and Linux for $4. Now you can get windows for $5 a month and still $4 for linux. Of course there's some that sell linux for $2 but you get what you pay for.