>  기사  >  백엔드 개발  >  Asp.net에서 HTML 페이지를 동적으로 생성하는 방법 공유

Asp.net에서 HTML 페이지를 동적으로 생성하는 방법 공유

高洛峰
高洛峰원래의
2017-02-03 15:10:061261검색

이 기능은 백엔드 데이터베이스 기능이 약한 웹 사이트에 적합합니다. 즉, 대부분의 텍스트가 데이터베이스 레코드에 저장되지 않고 html 파일이나 xml 파일에 저장됩니다. 기사 제목, 카테고리, 검색어 키워드 등 이는 MS SQL Server와 같이 백그라운드에서 데이터베이스를 지원하지 않는 웹 사이트에 적합합니다.
동적으로 생성된 HTML 페이지를 사용하는 sina, 163 등과 같은 보도 자료 시스템에 적합합니다.
페이지를 동적으로 사용자 정의해야 하는 프로그램에 적합합니다. 포럼, 채팅방 등 사용자 정의된 HTML 페이지를 로드하여 미학을 향상시킬 수 있습니다.
아이디어
1. Dw-Mx와 같은 도구를 사용하여 html 형식의 템플릿을 생성하고, 형식을 추가해야 하는 곳에 특수 태그(예: $htmlformat$)를 추가하고 코드를 사용하여 이 템플릿을 읽습니다. 그런 다음 프런트 데스크에서 입력한 콘텐츠를 가져와 이 템플릿의 표시된 위치에 추가하고 새 파일 이름을 생성하여 디스크에 쓴 다음 해당 데이터를 데이터베이스에 씁니다.
2. 배경 코드를 사용하여 Html 파일을 하드코딩합니다. HtmlTextWriter 클래스를 사용하여 html 파일을 작성할 수 있습니다.
장점
1. js 파일을 포함시키고, js 파일에 document.write() 메소드를 추가하여 페이지 헤더, 광고 등의 내용을 모두 추가하는 방식으로 매우 복잡한 페이지를 생성할 수 있습니다. 페이지.
2. 정적 html 파일은 MS Windows2000의 Index Server를 사용하여 전체 텍스트 검색 엔진을 구축하고 asp.net을 사용하여 DataTable 형식의 검색 결과를 얻을 수 있습니다. Win2000의 인덱스 서비스가 xml 파일의 내용을 찾을 수 없습니다. 데이터베이스 검색과 Index 인덱스 이중 검색을 포함한다면 이 검색 기능은 매우 강력할 것입니다.
3. 서버 부하를 저장합니다. 정적 html 파일을 요청하면 aspx 파일보다 훨씬 더 많은 서버 리소스가 절약됩니다.
단점
아이디어 2: 하드 코딩을 사용하면 작업량이 매우 많고 HTML 코드가 많이 필요합니다. 디버깅이 어렵습니다. 또한, 하드코딩을 통해 생성된 HTML 스타일은 수정할 수 없으며, 웹사이트에서 스타일을 변경하면 다시 코딩해야 하므로 이후 단계에서 엄청난 작업량이 발생하게 됩니다.
여기서 첫 번째 아이디어가 채택되었습니다
코드 목록
1. 정의(template.htm) html 템플릿 페이지

<html> 
<head> 
<title></title> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
</head> 
<body > 
<table $htmlformat[0] height="100%" border="0" width="100%" cellpadding="10" cellspacing="0" bgcolor="#eeeeee" style="border:1px solid #000000"> 
<tr> 
<td width="100%" valign="middle" align="left"> 
<span style="color: $htmlformat[1];font-size: $htmlformat[2]">$htmlformat[3]</span> 
</td> 
</tr> 
</table> 
</body> 
</html>

2.asp.net 코드:

//---------------------读html模板页面到stringbuilder对象里---- 
string[] format=new string[4];//定义和htmlyem标记数目一致的数组 
StringBuilder htmltext=new StringBuilder(); 
try 
{ 
using (StreamReader sr = new StreamReader("存放模板页面的路径和页面名")) 
{ 
String line; 
while ((line = sr.ReadLine()) != null) 
{ 
htmltext.Append(line); 
} 
sr.Close(); 
} 
} 
catch 
{ 
Response.Write("<Script>alert(&#39;读取文件错误&#39;)</Script>"); 
} 
//---------------------给标记数组赋值------------ 
format[0]="background=/"bg.jpg/"";//背景图片 
format[1]= "#990099";//字体颜色 
format[2]="150px";//字体大小 
format[3]= "<marquee>生成的模板html页面</marquee>";//文字说明 
//----------替换htm里的标记为你想加的内容 
for(int i=0;i<4;i++) 
{ 
htmltext.Replace("$htmlformat["+i+"]",format[i]); 
} 
//----------生成htm文件------------------ 
try 
{ 
using(StreamWriter sw=new StreamWriter("存放路径和页面名",false,System.Text.Encoding.GetEncoding("GB2312"))) 
{ 
sw.WriteLine(htmltext); 
sw.Flush(); 
sw.Close(); 
} 
} 
catch 
{ 
Response.Write ("The file could not be wirte:"); 
}

요약
이 방법을 사용하면 쉽게 html 파일을 생성할 수 있습니다. 이 프로그램은 루프 교체를 사용하므로 많은 수의 요소를 교체해야 하는 템플릿의 경우 매우 빠릅니다.

Asp.net이 HTML 페이지를 동적으로 생성하고 관련 기사를 공유하는 방법에 대한 자세한 내용을 보려면 PHP 중국어 웹사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.