Heim  >  Artikel  >  Backend-Entwicklung  >  Teilen Sie die Methode zum dynamischen Generieren von HTML-Seiten in Asp.net

Teilen Sie die Methode zum dynamischen Generieren von HTML-Seiten in Asp.net

高洛峰
高洛峰Original
2017-02-03 15:10:061264Durchsuche

Diese Funktion eignet sich für Websites mit schwachen Back-End-Datenbankfunktionen, d. h. der Großteil des Textes wird nicht in Datenbankeinträgen, sondern in HTML-Dateien oder XML-Dateien gespeichert B. Artikeltitel, Kategorien, Suchbegriffe usw. Dies eignet sich für Websites, die keine Datenbankunterstützung wie MS SQL Server im Hintergrund haben.
Geeignet für Pressemitteilungssysteme wie Sina, 163 usw., die dynamisch generierte HTML-Seiten verwenden.
Geeignet für Programme, die Seiten dynamisch anpassen müssen. Wie Foren, Chatrooms usw. Zur Verbesserung der Ästhetik können benutzerdefinierte HTML-Seiten geladen werden.
Ideen
1. Verwenden Sie ein Tool wie Dw-Mx, um eine Vorlage im HTML-Format zu generieren, fügen Sie spezielle Tags (wie $htmlformat$) an der Stelle hinzu, an der das Format hinzugefügt werden muss, und verwenden Sie Code, um diese Vorlage zu lesen Wenn Sie Dateien dynamisch generieren, erhalten Sie dann die Inhaltseingabe von der Rezeption, fügen Sie sie an der markierten Position dieser Vorlage hinzu, generieren Sie einen neuen Dateinamen, schreiben Sie ihn auf die Festplatte und schreiben Sie dann die relevanten Daten in die Datenbank.
2. Verwenden Sie den Hintergrundcode, um die HTML-Datei fest zu codieren. Sie können die HtmlTextWriter-Klasse verwenden, um die HTML-Datei zu schreiben.
Vorteile
1. Sie können sehr komplexe Seiten erstellen, indem Sie die Methode zum Einbinden von js-Dateien verwenden und die Methode document.write() zu den js-Dateien hinzufügen, um Inhalte wie Seitenkopfzeilen, Werbung usw. zu allen hinzuzufügen Seiten.
2. Statische HTML-Dateien können den Indexserver von MS Windows 2000 verwenden, um eine Volltextsuchmaschine zu erstellen, und asp.net verwenden, um Suchergebnisse in Form von DataTable zu erhalten. Der Indexdienst von Win2000 kann den Inhalt der XML-Datei nicht finden. Wenn es die Datenbanksuche und die Indexindex-Doppelsuche umfasst, ist diese Suchfunktion sehr leistungsstark.
3. Serverlast sparen Das Anfordern einer statischen HTML-Datei spart viel mehr Serverressourcen als eine ASPX-Datei.
Nachteile
Idee 2: Wenn Sie harte Codierung verwenden, ist der Arbeitsaufwand sehr hoch und erfordert viel HTML-Code. Das Debuggen ist schwierig. Darüber hinaus kann der durch harte Codierung generierte HTML-Stil nicht geändert werden. Wenn die Website den Stil ändert, muss sie neu codiert werden, was im späteren Stadium einen enormen Arbeitsaufwand mit sich bringt.
Hier wird also die erste Idee übernommen
Code anzeigen
1 (template.htm) HTML-Vorlagenseite definieren

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

Zusammenfassung
Mit dieser Methode können Sie ganz einfach HTML-Dateien generieren. Das Programm verwendet die Schleifenersetzung und ist daher für Vorlagen, die eine große Anzahl von Elementen ersetzen müssen, sehr schnell.

Weitere Informationen zum dynamischen Generieren von HTML-Seiten mit Asp.net und zum Teilen verwandter Artikel finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn