첫 번째는 템플릿 교체입니다.
환경: Microsoft .NET Framework SDK v1.1
OS: Windows Server 2003 중국어 버전
ASP.Net은 정적 HTML 페이지를 생성합니다. 정적 페이지를 생성하는 데 사용되는 FileSystemObject 개체는 Asp!
.Net에서 이러한 작업과 관련된 것은 System.IO입니다.
다음은 프로그램 코드입니다. 참고: 이 코드는 원본이 아닙니다. 다른 사람의 코드를 참조하세요.
//HTML 페이지 생성
공개 정적 bool WriteFile(문자열 strText,문자열 strContent,문자열 strAuthor)
{
문자열 경로 = HttpContext.Current.Server.MapPath("/news/");
인코딩 코드 = Encoding.GetEncoding("gb2312");
//템플릿 파일 읽기
string temp = HttpContext.Current.Server.MapPath("/news/text.html");
StreamReader sr=null;
StreamWriter sw=null;
문자열 str="";
노력하다
{
sr = new StreamReader(임시, 코드);
str = sr.ReadToEnd(); // 파일 읽기
}
catch(예외 exp)
{
HttpContext.Current.Response.Write(exp.Message);
HttpContext.Current.Response.End();
sr.닫기();
}
문자열 htmlfilename=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
// 내용 교체
// 이때 템플릿 파일을 str이라는 변수로 읽어 들였습니다.
str =str.Replace("ShowArticle",strText); //템플릿 페이지에 기사 표시
str = str.Replace("biaoti",strText);
str = str.Replace("content",strContent);
str = str.Replace("author",strAuthor);
// 파일 쓰기
노력하다
{
sw = new StreamWriter(경로 + html파일 이름, false, 코드);
sw.쓰기(str);
sw.플러시();
}
catch(예외예외)
{
HttpContext.Current.Response.Write(ex.Message);
HttpContext.Current.Response.End();
}
마지막으로
{
sw.닫기();
}
return true;
이 함수는 Conn.CS 기본 클래스에 있으며
뉴스 추가를 위한 코드에서 참조됩니다. 참고: 프로젝트 이름은 Hover
if (Hover.Conn.WriteFilethis.Title.Text.ToString), this.Content입니다. Text.ToString) ,this.Author.Text.ToString)))
{
Response.Write("성공적으로 추가되었습니다.");
}
또 다른
{
Response.Write("HTML 생성 중 오류 발생!");
}
템플릿 페이지 Text.html 코드
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<헤드>
<title>기사 표시</title>
<본문>
비아오티
<br>
내용<br>
작가
</body>
</HTML>
비아오티
<br>
내용<br>
작가
</body>
</HTML>
프롬프트가 성공적으로 추가되면 파일 이름이 현재 시간인 html 파일이 나타납니다. 위의 내용은 전달된 매개변수를 HTML 파일에 직접 작성하는 것입니다.
실제 애플리케이션에서는 먼저 데이터베이스를 추가한 후 HTML 파일을 작성해야 합니다.
두 번째 유형:
WebRequest는 aspx 페이지에 액세스한 다음 응답 스트림을 가져오고 html을 가져옵니다.
개인 무효 버튼1_Click(개체 전송자, System.EventArgs e)
{
textBox1.Text=this.GetUrlValue(" http://YourUrl ");
}
//HttpWebRequest를 사용하여 URL의 반환 값을 가져옵니다.
공개 문자열 GetUrlValue(문자열 URL)
{
System.Net.WebRequest HttpWebRequest=System.Net.WebRequest.Create(url);
System.Net.WebResponse HttpWebResponse =HttpWebRequest.GetResponse();
System.IO.StreamReader sr=new System.IO.StreamReader(HttpWebResponse.GetResponseStream(), System.Text.Encoding.GetEncoding("GB2312"));
sr.ReadToEnd()를 반환합니다.
}