一些客户要求制作一些静态网站,因为他们的托管不支持服务器端语言。现在我想知道是否有任何工具/技术可以从Asp.net网站生成静态网站?
我问的原因是因为没有母版页或任何形式的模板,它变得非常麻烦。
我记得5年前Dreamweaver有一个基于HTML评论的模板系统,但我不喜欢它,所以我想避免这种情况。
答案 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包含或母版页方法,但没有任何服务器端的东西。