ฟังก์ชันนี้เหมาะสำหรับเว็บไซต์ที่มีฟังก์ชันฐานข้อมูลแบ็กเอนด์ที่อ่อนแอ กล่าวคือ ข้อความส่วนใหญ่ไม่ได้จัดเก็บไว้ในบันทึกฐานข้อมูล แต่อยู่ในไฟล์ html หรือไฟล์ xml เท่านั้นที่จะวางลงในฐานข้อมูล เช่น ชื่อบทความ หมวดหมู่ ค้นหาคีย์เวิร์ด ฯลฯ เหมาะสำหรับเว็บไซต์ที่ไม่รองรับฐานข้อมูล เช่น MS Sql Server ในเบื้องหลัง
เหมาะสำหรับระบบข่าวประชาสัมพันธ์ เช่น sina, 163 ฯลฯ ซึ่งใช้หน้า HTML ที่สร้างขึ้นแบบไดนามิก
เหมาะสำหรับโปรแกรมที่ต้องการปรับแต่งเพจแบบไดนามิก เช่น กระดานสนทนา ห้องสนทนา เป็นต้น สามารถโหลดหน้า html ที่กำหนดเองได้เพื่อเพิ่มความสวยงาม
แนวคิด
ที่ 1. ใช้เครื่องมือ เช่น Dw-Mx เพื่อสร้างเทมเพลตรูปแบบ html เพิ่มแท็กพิเศษ (เช่น $htmlformat$) ที่ต้องเพิ่มรูปแบบ ใช้โค้ดเพื่ออ่านเทมเพลตนี้เมื่อสร้างไฟล์แบบไดนามิก จากนั้นรับเนื้อหา อินพุตโดยแผนกต้อนรับ เพิ่มลงในตำแหน่งเครื่องหมายของเทมเพลตนี้ ชื่อไฟล์ใหม่จะถูกสร้างขึ้นและเขียนลงดิสก์ จากนั้นข้อมูลที่เกี่ยวข้องจะถูกเขียนลงในฐานข้อมูล
2. ใช้โค้ดพื้นหลังเพื่อฮาร์ดโค้ดไฟล์ Html คุณสามารถใช้คลาส HtmlTextWriter เพื่อเขียนไฟล์ html
ข้อดี
1. คุณสามารถสร้างเพจที่ซับซ้อนได้ ด้วยการใช้วิธีการรวมไฟล์ js การเพิ่มเมธอด document.write() ในไฟล์ js จะสามารถเพิ่มเนื้อหา เช่น ส่วนหัวของเพจ โฆษณา ฯลฯ ลงในทุกเพจได้
2. ไฟล์ html แบบคงที่สามารถใช้ Index Server ของ MS Windows2000 เพื่อสร้างเครื่องมือค้นหาข้อความแบบเต็ม และใช้ asp.net เพื่อรับผลการค้นหาในรูปแบบของ DataTable บริการดัชนีของ Win2000 ไม่พบเนื้อหาของไฟล์ xml หากมีการค้นหาฐานข้อมูลและการค้นหาดัชนีดัชนีคู่ฟังก์ชันการค้นหานี้จะมีประสิทธิภาพมาก
3. บันทึกการโหลดเซิร์ฟเวอร์ การขอไฟล์ html แบบคงที่จะช่วยประหยัดทรัพยากรเซิร์ฟเวอร์ได้มากยิ่งกว่าไฟล์ aspx
แนวคิดข้อเสียประการ
ที่สอง: หากคุณใช้ฮาร์ดโค้ด งานจะหนักมากและต้องใช้โค้ด html จำนวนมาก การดีบักเป็นเรื่องยาก ยิ่งไปกว่านั้น รูปแบบ HTML ที่สร้างขึ้นโดยใช้ฮาร์ดโค้ดไม่สามารถแก้ไขได้ หากเว็บไซต์เปลี่ยนสไตล์ จะต้องถูกเข้ารหัสใหม่ ซึ่งจะทำให้มีภาระงานจำนวนมากในระยะหลัง
ดังนั้น แนวคิดแรกจึงถูกนำมาใช้ที่นี่
เพื่อแสดงรายการโค้ด
1. กำหนด (template.htm) เทมเพลต html หน้า
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content=" ข้อความ/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] ];ขนาดตัวอักษร: $htmlformat[2]">$htmlformat[3]</span>
</td>
</tr>
</table>
</body>
</html>
2.รหัส asp.net:
/ //-------------------- อ่านหน้าเทมเพลต html ลงในวัตถุ stringbuilder ----
string[] format=new string[4];//Definition and อาร์เรย์ htmlyem ที่มีจำนวนแท็กเท่ากัน
StringBuilder htmltext=new StringBuilder();
ลอง
{
โดยใช้ (StreamReader sr = new StreamReader("เส้นทางและชื่อเพจเพื่อจัดเก็บหน้าเทมเพลต"))
{
String line;
while ((line = sr .ReadLine()) != null)
{
htmltext.Append(line);
}
sr.Close();
}
}
catch
{
Response.Write("<Script>alert('ข้อผิดพลาดในการอ่านไฟล์')</Script>") ;
}
// -------------------- กำหนดค่าให้กับอาร์เรย์แท็ก ------------------- ---
format[0]="พื้นหลัง="bg.jpg "";//
รูปแบบภาพพื้นหลัง[1]= "#990099";//
รูปแบบสีแบบอักษร[2]="150px";//แบบอักษร size
format[3]= "<marquee>เทมเพลตที่สร้างหน้า html< /marquee>";//คำอธิบายข้อความ
//-----แทนที่เครื่องหมายใน html ด้วยเนื้อหาที่คุณต้องการเพิ่ม
( int i=0;i<4;i++)
{
htmltext.Replace( "$htmlformat["+i+"]",format[i]);
}
//----------สร้างไฟล์ html- ---------------- -----
ลอง
{
โดยใช้(StreamWriter sw=new StreamWriter("storage path and page name",false,System.Text.Encoding.GetEncoding(" GB2312")))
{
sw.WriteLine(htmltext);
sw.Flush() ;
sw.Close();
}
}
catch
{
Response.Write ("ไฟล์ไม่สามารถ wirte:");
}
สรุป
วิธีนี้สามารถ ใช้เพื่อสร้างไฟล์ html ได้อย่างง่ายดาย โปรแกรมใช้การแทนที่แบบวนซ้ำ ดังนั้นจึงรวดเร็วมากสำหรับเทมเพลตที่ต้องการแทนที่องค์ประกอบจำนวนมาก