代码如下:
生成静态页代码:/// <summary>
/// 将Url放到Path目录下,保存为FileName
/// </summary>
/// <param name= "Url "> aspx页面url </param>
/// <param name= "Path "> 生成html文件的保存路径 </param>
/// <param name= "FileName "> 生成html文件的文件名 </param>
/// <returns> </returns>
public bool ExecAspxToHtml(string Url, string Path, string FileName)
{
try
{
StringWriter strHTML = new StringWriter();
System.Web.UI.Page myPage = new Page(); //System.Web.UI.Page中有个Server对象,我们要利用一下它
myPage.Server.Execute(Url, strHTML); //将asp_net.aspx将在客户段显示的html内容读到了strHTML中
StreamWriter sw = new StreamWriter(Path + FileName, true, System.Text.Encoding.UTF8);
//新建一个文件Test.htm,文件格式为GB2312
sw.Write(strHTML.ToString()); //将strHTML中的字符写到Test.htm中
strHTML.Close(); //关闭StringWriter
sw.Close(); //关闭StreamWriter
return true;
}
catch
{
return false;
}
}点击按钮生成if (ExecAspxToHtml("../Default.aspx", "../", "index.htm"))
{
//...
}
else
{
//...
}在网站根目录生成index.htm的文件后,打开出现问题。
第一:css路径问题.aspx下的路径为 <link href="css/style.css" rel="stylesheet" type="text/css" />。
而.htm的路径为<link href="../css/style.css" rel="stylesheet" type="text/css" /> 所以css不能正常使用
第二:图片路径问题 .aspx下为绑定图片 查看HTML文件后路径为:src="case/case_20110702060135934.jpg"
而生成的.htm的路径为src="../case/case_20110702060152819.jpg" 所以不能正常显示。
我知道是路径的问题,但是不知道怎么改。上面生成静态页方法中的路径该怎么写,我需要把生成的静态页放在网站根目录下
生成静态页代码:/// <summary>
/// 将Url放到Path目录下,保存为FileName
/// </summary>
/// <param name= "Url "> aspx页面url </param>
/// <param name= "Path "> 生成html文件的保存路径 </param>
/// <param name= "FileName "> 生成html文件的文件名 </param>
/// <returns> </returns>
public bool ExecAspxToHtml(string Url, string Path, string FileName)
{
try
{
StringWriter strHTML = new StringWriter();
System.Web.UI.Page myPage = new Page(); //System.Web.UI.Page中有个Server对象,我们要利用一下它
myPage.Server.Execute(Url, strHTML); //将asp_net.aspx将在客户段显示的html内容读到了strHTML中
StreamWriter sw = new StreamWriter(Path + FileName, true, System.Text.Encoding.UTF8);
//新建一个文件Test.htm,文件格式为GB2312
sw.Write(strHTML.ToString()); //将strHTML中的字符写到Test.htm中
strHTML.Close(); //关闭StringWriter
sw.Close(); //关闭StreamWriter
return true;
}
catch
{
return false;
}
}点击按钮生成if (ExecAspxToHtml("../Default.aspx", "../", "index.htm"))
{
//...
}
else
{
//...
}在网站根目录生成index.htm的文件后,打开出现问题。
第一:css路径问题.aspx下的路径为 <link href="css/style.css" rel="stylesheet" type="text/css" />。
而.htm的路径为<link href="../css/style.css" rel="stylesheet" type="text/css" /> 所以css不能正常使用
第二:图片路径问题 .aspx下为绑定图片 查看HTML文件后路径为:src="case/case_20110702060135934.jpg"
而生成的.htm的路径为src="../case/case_20110702060152819.jpg" 所以不能正常显示。
我知道是路径的问题,但是不知道怎么改。上面生成静态页方法中的路径该怎么写,我需要把生成的静态页放在网站根目录下
aspx页面路径用绝对路径:
/css/style.css图片也一样
当然用正则更好
2.前面加http://
3....
如果css文件夹是在网站根目录下面 href=/css/style.css
图片同上
aspx页面路径用绝对路径:
/css/style.css图片也一样