一些客戶要求製作一些靜態網站,因爲他們的主機不支持服務器端語言。現在我想知道是否有任何工具/技術用於從Asp.net網站生成靜態網站?來自ASP.NET網站的靜態網站
我問的原因是因爲沒有masterpage或任何形式的模板,它變得非常麻煩。
我記得5年前Dreamweaver有一個基於html註釋的模板系統,但我不太喜歡它,所以我想避免這種情況。
一些客戶要求製作一些靜態網站,因爲他們的主機不支持服務器端語言。現在我想知道是否有任何工具/技術用於從Asp.net網站生成靜態網站?來自ASP.NET網站的靜態網站
我問的原因是因爲沒有masterpage或任何形式的模板,它變得非常麻煩。
我記得5年前Dreamweaver有一個基於html註釋的模板系統,但我不太喜歡它,所以我想避免這種情況。
查看RenderControl方法。它基本上允許您將任何ASP.NET頁面的內容轉儲爲HTML。因此,您可以動態構建您的網站,然後將其全部轉存爲HTML並上傳到您的古董服務器。
這裏有一點幫助的代碼,我從我的項目之一刷卡獲得任何頁面的內容轉換成字符串:
public class RenderHelper
{
public static string RenderControl(Control control)
{
StringBuilder result = new StringBuilder(1024);
control.RenderControl(new HtmlTextWriter(new StringWriter(result)));
return result.ToString();
}
public static string RenderControl(TemplateControl control)
{
StringBuilder result = new StringBuilder(1024);
control.RenderControl(new HtmlTextWriter(new StringWriter(result)));
return result.ToString();
}
public static string RenderPage(string pageLocation)
{
HttpContext context = HttpContext.Current;
StringBuilder result = new StringBuilder(1024);
context.Server.Execute(pageLocation, new HtmlTextWriter(new StringWriter(result)));
return result.ToString();
}
}
你可以一個js文件鏈接到您所做的任何新頁面。例如,一個文件具有寫出頁腳和頁眉的功能,並且基本上讓js寫入html。這是一個僞網頁模板有點像PHP包括或母版頁的方法,但沒有任何服務器端的東西。
我曾考慮過它,但沒有做到這一點,因爲優雅的退化。 – Pickels 2010-10-23 16:22:01
你應該能夠從谷歌找到大量的搜索結果,嘗試搜索「網站下載」 – Kane 2010-10-23 12:40:11
這不是一個壞主意,謝謝。 – Pickels 2010-10-23 16:22:34