If you want a Rich Interaction UI you can go for Silverlight else you can go for asp.net(Not saying like we can't have a good UI in asp.net).
I don't think there is any other big difference in choosing asp.net or Silverlight. Silverlight is equally efficient. You can call javascrit functions from SilverLight. Silverlight will hit the sever for retrieving a resource file or a servier call.
And with silverlight you should make Asynchronous calls to your service for good UI response. In silverlight you can make use of all API's which is available in .net 3.5 while coding.