2013年10月10日 星期四

自動產生前台html

http://social.msdn.microsoft.com/forums/zh-TW/236/thread/4eaf6d62-bb64-4886-a916-a63c1b53896f

利用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="開啟靜態網頁" />&nbsp;</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文章

沒有留言: