이 글에서는 .aspx를 .htm으로 변환하는 두 가지 방법을 소개합니다. 도움이 필요한 친구들이 참고하시면 좋을 것 같습니다.
방법 1: 템플릿을 기반으로 생성, Keep html 폴더에
아이디어 분석:
1. 교체해야 할 부분이 $value$로 포함된 사용자 정의 HTM 템플릿을 작성합니다.
2. 페이지 ASPX에서는 StreamReader를 사용하여 HTM 템플릿을 읽고 $value$를 REPLACE
로 바꿉니다. 3. 완성된 StringStreamWriter를 사용하여 출력
참조 코드는 다음과 같습니다.
1) 템플릿 template.htm 정의
코드는 다음과 같습니다.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <title> $title$ 生成静态页的Demo|-51aspx.com</title> <style type="text/css"> <!-- .STYLE1 { font-size: 16px; font-weight: bold; } --> </style> </head> <body> <br /> <br /> <table width="100%" border="0" bgcolor="#339900"> <tr> <td height="34" align="center" bgcolor="#FFFFFF"><span class="STYLE1">$title$ </span></td> </tr> <tr> <td height="42" bgcolor="#FFFFFF"><br /> <br /> 内容:$content$ </td> </tr> </table> <a href="#" target="_blank">版权所有</a> </body> </html>
2) Default.aspx 페이지에서 버튼의 이벤트 처리 에 다음 코드를 작성합니다.
코드는 다음과 같습니다. :
//源码是替换掉模板中的特征字符 string mbPath = Server.MapPath("template.htm"); Encoding code = Encoding.GetEncoding("gb2312"); StreamReader sr = null; StreamWriter sw = null; string str = null; //读取 try { sr = new StreamReader(mbPath, code); str = sr.ReadToEnd(); } catch (Exception ex) { throw ex; } finally { sr.Close(); } //根据时间自动重命名,扩展名也可以自行修改 string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm"; str = str.Replace("$title{1}quot;, txtTitle.Text);//替换Title str = str.Replace("$content{1}quot;, txtContent.Text);//替换content //生成静态文件 try { sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code); sw.Write(str); sw.Flush(); } catch (Exception ex) { throw ex; } finally { sw.Close(); Response.Write("恭喜<a href=htm/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在htm文件夹下!"); }
방법 2: Url 주소를 기반으로 정적 페이지를 생성하고 유지
아이디어 분석:
준비된 동적 페이지를 직접 정적 페이지로 변환 페이지이므로 생성된 콘텐츠의 유연성이 충분하지 않습니다
참조 코드:
코드는 다음과 같습니다:
//根据Url地址生成静态页保持 protected void Button2_Click(object sender, EventArgs e) { Encoding code = Encoding.GetEncoding("utf-8"); StreamReader sr = null; StreamWriter sw = null; string str = null; //读取远程路径 WebRequest temp = WebRequest.Create(txtUrl.Text.Trim()); WebResponse myTemp = temp.GetResponse(); sr = new StreamReader(myTemp.GetResponseStream(), code); //读取 try { sr = new StreamReader(myTemp.GetResponseStream(), code); str = sr.ReadToEnd(); } catch (Exception ex) { throw ex; } finally { sr.Close(); } string fileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".htm"; //写入 try { sw = new StreamWriter(Server.MapPath("htm/") + fileName, false, code); sw.Write(str); sw.Flush(); } catch (Exception ex) { throw ex; } finally { sw.Close(); Response.Write("恭喜<a href=htm/" + fileName + " target=_blank>" + fileName + "</a>已经生成,保存在htm文件夹下!"); } }
위 내용은 .aspx를 .html로 변환하는 두 가지 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!