Home >Backend Development >C#.Net Tutorial >Dynamically generate HTML pages using ASP.NET technology

Dynamically generate HTML pages using ASP.NET technology

巴扎黑
巴扎黑Original
2017-05-22 23:01:441505browse

Ideas
1. Use tools such as Dw-Mx to generate templates in html format, add special tags (such as $htmlformat$) where formatting needs to be added, and generate it dynamically When using a file, code is used to read this template, and then the content input by the foreground is obtained, added to the marked position of this template, a new file name is generated and written to the disk, and then the relevant data is written to the database.

 2. Use the background code to hardcode the Html file. You can use the HtmlTextWriter class to write the html file.

Advantages

1. You can create very complex pages by using the method of including js files and adding document.write(( ) method can add content such as page headers, advertisements, etc. to all pages.

 2. Static html files can use the Index Server of MS Windows2000 to establish a full-text search engine, and use asp.net to obtain search results in the form of DataTable. The Index service of Win2000 cannot find the content of the xml file. If it includes database search and Index index dual search, then this search function will be very powerful.

3. Save server load. Requesting a static html file saves many server resources than an aspx file.

Disadvantages

Idea 2: If you use hard coding, the workload will be very heavy and a lot of html code will be required. Debugging is difficult. Moreover, the HTML style generated using hard coding cannot be modified. If the website changes the style, it must be recoded, which will bring a huge workload in the later stage.

Therefore, the first idea is adopted here

List code

## 1. Definition (template.htm)html template page

<html> 
<head> 
<title>www.knowsky.com</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 code:

//---------------------读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:");
}

Summary

Using this method, you can easily generate html files. The program uses loop replacement, so it is very fast for templates that need to replace a large number of elements.

【Related recommendations】

1. Ap.net method code example for dynamically generating HTML forms

2.

Asp.net method to dynamically generate html pages

The above is the detailed content of Dynamically generate HTML pages using ASP.NET technology. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn