-
เมื่อเร็วๆ นี้ฉันต้องการทำให้เว็บไซต์เป็นแบบคงที่ ดังนั้นฉันจึงเขียนวิธีการบางอย่างด้วยตัวเองและโพสต์ไว้เพื่อพูดคุยกับทุกคน
/// <สรุป>
/// คลาสฟังก์ชันคงที่ของเว็บไซต์
/// สรุป>
CreateHtml คลาสสาธารณะ
-
/// <สรุป>
/// อ่านเนื้อหาเทมเพลต
/// สรุป>
/// เส้นทางสัมพัทธ์ของเทมเพลต
///
สตริงสาธารณะ Html_ReadTemplate (เทมเพลตสตริง)
-
#ภูมิภาค
StringBuilder str = new StringBuilder();//เนื้อหารูปแบบการจัดเก็บ
ถ้า (เทมเพลต != null && เทมเพลต != "" && template.Length > 0)//if
-
พยายาม
-
การใช้ (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath(template), Encoding.GetEncoding("utf-8")))
-
สตริง tempStr;
ในขณะที่ ((tempStr = sr.ReadLine()) != null)//หากไม่ได้อ่านจุดสิ้นสุดของไฟล์
-
str.ผนวก(tempStr);
-
sr.ปิด();
-
-
catch (ข้อยกเว้น เช่น)
-
กลับเป็นโมฆะ;
-
-
กลับ str.ToString();
#ภูมิภาคสุดท้าย
-
/// <สรุป>
/// สร้างไฟล์ตามเส้นทางที่แน่นอนและชื่อไฟล์ของไฟล์ที่สร้างขึ้น
/// สรุป>
/// พาธสัมบูรณ์ของไฟล์
/// สร้างชื่อไฟล์
/// เขียนเนื้อหาไฟล์
///
สาธารณะ int Html_WriteTemplate (ไฟล์สตริง AbsolutePath, สตริง htmlName, สตริง htmlNote)
-
#ภูมิภาค
ถ้า (fileAbsolutePath != null && fileAbsolutePath != "" && fileAbsolutePath.Length > 0 && htmlName != null && htmlName != "" && htmlName.Length > 0)
-
พยายาม
-
การใช้ (FileStream fs = new FileStream(fileAbsolutePath + "\" + htmlName, FileMode.Create, FileAccess.Write, FileShare.Write))
-
StreamWriter sw = StreamWriter ใหม่ (fs, System.Text.Encoding.GetEncoding("utf-8"));
sw.เขียน(htmlหมายเหตุ);
sw.ปิด();
fs.ปิด();
return 1;//สร้างไฟล์สำเร็จ
-
-
catch (ข้อยกเว้น เช่น)
-
กลับ 0;
-
-
กลับ 0;//การสร้างไฟล์ล้มเหลว
#ภูมิภาคสุดท้าย
-
/// <สรุป>
/// อ่านทีละหน้าตามเนื้อหาที่อ่านทั้งหมด และแยกแต่ละหน้าด้วย "|"
/// สรุป>
/// เนื้อหา
/// โลโก้เพจ
///
สตริงสาธารณะ Html_BackPageData (สตริง contentText, สตริง pageLogo)
-
#ภูมิภาค
จำนวนอุณหภูมิ int = 0;
StringBuilder sb = StringBuilder ใหม่ ();
ในขณะที่ (จำนวนอุณหภูมิ >= 0)
-
int index = contentText.IndexOf(pageLogo);//โลโก้เพจจิ้ง
if (index == -1)//หากไม่มีเพจ
-
sb.ผนวก(contentText);
หยุดพัก;
-
อื่น
-
sb.Append(contentText.Substring(0,index)+"|");
int start = ดัชนี + pageLogo.Length + 1;
int end = contentText.Length-index-pageLogo.Length - 1;
contentText=contentText.Substring(เริ่มต้น, สิ้นสุด);
-
ชั่วคราว++;
-
กลับ sb.ToString();
#ภูมิภาคสุดท้าย
-
/// <สรุป>
/// สร้างแฟล็กเพจที่สอดคล้องกันสำหรับเนื้อหา หน้าแรก หน้าก่อนหน้า หมายเลขหน้า หน้าถัดไป หน้าสุดท้าย (สำหรับเนื้อหา)
/// สรุป>
/// ดัชนีหน้าปัจจุบัน
/// จำนวนหน้าทั้งหมด
/// ชื่อไฟล์ (เฉพาะชื่อไฟล์ที่ไม่มีส่วนต่อท้าย)
///
สตริงสาธารณะ Html_Pager_Sign (int currPageIndex, int pageCount, สตริง noteName)
-
#ภูมิภาค
string allSeprNote = "
$firstpage$ | $uppage$ | $pagenumber$ td> | $drownpage$ | $lastpage$ |
ถ้า (i == หน้าปัจจุบัน)
-
sb.ผนวก(" " + (i+1) + " ");
-
อย่างอื่นถ้า (i == 0)//หากหน้าปัจจุบันเป็นหน้าที่ 2 จะต้องดำเนินการแยกกัน
-
sb.Append(" " + (i + 1) + " ");
-
อื่น
-
sb.Append(" " + (i + 1) + " ");
-
-
//สร้างหน้าถัดไปและหน้าสุดท้าย
if (currentPage == pageTotal)//หากหน้าปัจจุบันเป็นหน้าสุดท้าย
-
sb.Append(" หน้าถัดไป ");
sb.Append(" หน้าสุดท้าย ");
-
อื่น
-
sb.Append(" หน้าถัดไป ");
sb.Append(" หน้าสุดท้าย");
-
sb.Append(" " + (หน้าปัจจุบัน + 1) + "/" + (ผลรวมหน้า + 1));
sb.Append(" Go to:");
sb.Append("");
กลับ sb.ToString();
#ภูมิภาคสุดท้าย