Open the ASPX page in a web browser such as Firefox or Google Chrome, and choose 'Save As' - you should have the option to save the page as an HTML file. Understand however that this is the rendered page - anything dynamic (which requires ASP code to be run) will not be dynamic any longer - you'll have the equivalent of a snapshot of the page.
As you asked about doing this programatically, try the code below:
using (WebClient client = new WebClient ())
{
client.DownloadFile("http://server/url.aspx", @"C:\result.html");
string htmlCode = client.DownloadString("http://server/url.aspx");
}