The actual answer is: Silverlight CAN replace Asp.net, but it won't. It's like saying: Trucks/buses can replace cars, but they won't. They all serve a different purpose.
They will both thrive in their own area
These two technologies are to live side-by-side happily ever after. They're intended for different purposes and they will most probably stay that way. Things that will change/shape them are browsers. With the upcoming HTML5 even Microsoft admits that Silverlight may not survive.
Also take into consideration SEO and content indexing. Silverlight content isn't really indexed as far as I know. So wasn't flash which is indexed nowadays. Silverlight may get to the same point as well, but indexing such dynamic content is much more difficult for search providers.
My opinion is that Silverlight will thrive in very rich web-connected client (or web client) application development as in line-of-business applications and other interfaces that need high user interactivity and complex presentation.
Silverlight is much much better suited for these purposes than Asp.net is. Give or take Ajax in Asp.net. HTML5 will make things a bit better, but it's still just HTML. So don't expect whole websites running as Silverlight applications (think of web-connected games, video/image editing/manipulation solutions, online casinos, user controlled animated content etc.) That's Silverlight. Imagine doing the same using HTML. That'd be a challenge!
Microsft (my personal opinion) made a very bad job evangelising Silverlight, because they tried to make it en-par with Flash video players and such. Try asking developers of what comes to their mind when someone mentions Silverlight. A lot of them don't really understand what's it for. And that is Microsoft's mistake for not making it very clear on this.