Hi Alok!
It depends a little on what html your trying to get.
If its just the htmlcode entered for some property (for example "MainBody") on the other page, then it would be as simple as:PageData otherPage = EPiServer.DataFactory.Instance.GetPage(otherPageRef);
string html = otherPage["MainBody"] as string;
But, if you want to get the "complete" htmlpage (as it would have been rendered by the aspx/ascx) it would be a little trickier. The easiest solution would be to simply issue a webrequest to the page and read the returned html response stream through a StringReader.
While this works, it has the downside of hitting the server with a new request which could be both time and resource consuming, especially on a site with lots of requests.
I have done some hacks around the PageParser.GetCompiledPageInstance() which lets you "shortcut" the asp.net request by calling into the IHttpHandler directly without the need to issue a "full" webrequest and also to capture the rendered html output.
I could probably dig out some sample code for you if youre interested, just drop me a email (johan.olofsson @ episerver.com).
Regards,
Johan Olofsson
If anyone's interested, I made a blog post (with sources) on how one can get a page's html without a "full" web request.
/johan