利用WebRequest.Create
Code Snippet
WebRequest mywebReq ;
WebResponse mywebResp ;
StreamReader sr ;
string strHTML ;
StreamWriter sw;
mywebReq = WebRequest.Create("http://localhost/MyAspNetPage.aspx");
mywebResp = mywebReq.GetResponse();
sr = new StreamReader(mywebResp.GetResponseStream());
strHTML = sr.ReadToEnd();
sw = File.CreateText(Server.MapPath("temp.html"));
sw.WriteLine(strHTML);
sw.Close();
===============================================================
範例:
GeneraterStaticPage.aspx
Code Snippet
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="GeneraterStaticPage.aspx.cs" Inherits="GeneraterStaticPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><FONT< A> color=#4d4c1e>http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><FONT< A> color=#4d4c1e>http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>產生靜態網頁並開啟靜態網頁</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="產生靜態網頁" /><br />
<br />
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="開啟靜態網頁" /> </div>
</form>
</body>
</html>
GeneraterStaticPage.aspx.cs
Code Snippet
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Net;
using System.IO;
using System.Text;
public partial class GeneraterStaticPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
protected void Button1_Click(object sender, EventArgs e)
{
WebRequest mywebReq;
WebResponse mywebResp;
StreamReader sr;
string strHTML;
StreamWriter sw;
mywebReq = WebRequest.Create(@"http://forums.microsoft.com/MSDN-CHT/ShowPost.aspx?PostID=2008305&SiteID=14");
mywebResp = mywebReq.GetResponse();
sr = new StreamReader(mywebResp.GetResponseStream(),Encoding.UTF8);
strHTML = sr.ReadToEnd();
sw = File.CreateText(Server.MapPath("MyAspNetPage.html")); //產生靜態網頁
sw.WriteLine(strHTML);
sw.Close();
string AlertMsg;
AlertMsg = "產生靜態網頁成功!";
StringBuilder m_Builder = new StringBuilder();
m_Builder.Append(" ");
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", m_Builder.ToString());
}
protected void Button2_Click(object sender, EventArgs e)
{
Response.Redirect("MyAspNetPage.html");
}
}
============================================
參考自 MSDN James Wu文章
沒有留言:
張貼留言