来自ASP.NET网站的静态网站

时间:2010-10-23 12:10:16

标签: asp.net

一些客户要求制作一些静态网站,因为他们的托管不支持服务器端语言。现在我想知道是否有任何工具/技术可以从Asp.net网站生成静态网站?

我问的原因是因为没有母版页或任何形式的模板,它变得非常麻烦。

我记得5年前Dreamweaver有一个基于HTML评论的模板系统,但我不喜欢它,所以我想避免这种情况。

2 个答案:

答案 0 :(得分:4)

查看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();
    }
}

答案 1 :(得分:0)

您可以将js文件链接到您创建的任何新页面。例如,一个文件具有写出页脚和标题的功能,并且基本上让js写入html。这是一个伪网页模板有点像PHP包含或母版页方法,但没有任何服务器端的东西。