-
Saya baru-baru ini ingin membuat situs web statis, jadi saya menulis sendiri beberapa metode dan mempostingnya untuk diskusi dengan semua orang.
/// <ringkasan>
/// Kelas fungsi statis situs web
/// </ringkasan>
kelas publik CreateHtml
{
/// <ringkasan>
/// Membaca konten templat
/// </ringkasan>
/// <param name="template">Jalur relatif template</param>
/// <returns>Konten template, kegagalan baca mengembalikan ""</returns>
string publik Html_ReadTemplate(templat string)
{
#wilayah
StringBuilder str = new StringBuilder();//Konten pola penyimpanan
if (templat != null && templat != "" && templat.Panjang > 0)//if
{
mencoba
{
menggunakan (StreamReader sr = new StreamReader(System.Web.HttpContext.Current.Server.MapPath(template), Encoding.GetEncoding("utf-8")))
{
string tempStr;
while ((tempStr = sr.ReadLine()) != null)//Jika akhir file tidak terbaca
{
str.Tambahkan(tempStr);
}
sr.Tutup();
}
}
menangkap (Pengecualian ex)
{
kembalikan nol;
}
}
kembalikan str.ToString();
#wilayah akhir
}
/// <ringkasan>
/// Hasilkan file berdasarkan jalur absolut dan nama file dari file yang dihasilkan
/// </ringkasan>
/// <param name="fileAbsolutePath">Jalur absolut file</param>
/// <param name="htmlName">Buat nama file</param>
/// <param name="htmlNote">Menulis konten file</param>
/// <returns>Buat status file, 1: berhasil 0: gagal</returns>
public int Html_WriteTemplate(string fileAbsolutePath, string htmlName,string htmlCatatan)
{
#wilayah
if (fileAbsolutePath != null && fileAbsolutePath != "" && fileAbsolutePath.Length > 0 && htmlName != null && htmlName != "" && htmlName.Length > 0)
{
mencoba
{
menggunakan (FileStream fs = new FileStream(fileAbsolutePath + "\" + htmlName, FileMode.Create, FileAccess.Write, FileShare.Write))
{
StreamWriter sw = new StreamWriter(fs, System.Text.Encoding.GetEncoding("utf-8"));
sw.Write(htmlCatatan);
sw.Tutup();
fs.Tutup();
return 1;//File berhasil dibuat
}
}
menangkap (Pengecualian ex)
{
kembali 0;
}
}
return 0;//Pembuatan file gagal
#wilayah akhir
}
/// <ringkasan>
/// Baca dalam halaman sesuai dengan seluruh konten yang dibaca, dan pisahkan setiap halaman dengan "|"
/// </ringkasan>
/// <param name="contentText">Konten</param>
/// <param name="pageLogo">Logo halaman</param>
/// <returns>String setelah konten diberi nomor halaman, setiap halaman dipisahkan oleh "|"</returns>
string publik Html_BackPageData(string kontenTeks,string pageLogo)
{
#wilayah
int jumlah temp = 0;
StringBuilder sb = StringBuilder baru();
sementara (jumlah sementara >= 0)
{
int indeks = contentText.IndexOf(pageLogo);//Paging logo
if (index == -1)//Jika tidak ada paging
{
sb.Tambahkan(contentText);
merusak;
}
kalau tidak
{
sb.Tambahkan(contentText.Substring(0,indeks)+"|");
int mulai = indeks + halamanLogo.Panjang + 1;
int end = kontenTeks.Panjang-indeks-halamanLogo.Panjang - 1;
contentText=contentText.Substring(mulai, akhir);
}
jumlah temp++;
}
kembali sb.ToString();
#wilayah akhir
}
/// <ringkasan>
/// Hasilkan tanda halaman yang sesuai untuk konten, halaman beranda, halaman sebelumnya, nomor halaman, halaman berikutnya, halaman terakhir (untuk suatu konten)
/// </ringkasan>
/// <param name="currPageIndex">Indeks halaman saat ini</param>
/// <param name="pageCount">Jumlah total halaman</param>
/// <param name="noteName">Nama file (hanya nama file tanpa akhiran)</param>
/// <returns>Bendera halaman terkait yang dihasilkan berdasarkan konten</returns>
string publik Html_Pager_Sign(int currPageIndex, int pageCount, string noteName)
{
#wilayah
string allSeprNote = "<table><tr><td> $halaman pertama$</td><td> $uppage$</td><td> $nomor halaman$</ td><td> $drownpage$</td><td> $lastpage$</td></tr></table>";
string seprTempStr = "";
for (int i = 1; i <= pageCount; i++)//Loop untuk menghasilkan nomor halaman untuk setiap halaman (loop ini hanya menghasilkan nomor halaman)
{
int n = saya - 1;
//Jika itu adalah halaman pertama
jika(saya==1)
{
seprTempStr += "<a href='" + noteName + ".html'>" + i+" "+ "</a>";
}
kalau tidak
{
seprTempStr += "<a href='" + namacatatan +"-"+n+ ".html'>" + i+" "
}
}
allSeprNote = allSeprNote.Replace("$pagenumber$", seprTempStr);//Ganti nomor halaman
//Buat halaman beranda dan halaman sebelumnya
if (currPageIndex == 0)//Jika halaman saat ini adalah halaman pertama, tidak akan ada link ke halaman sebelumnya atau halaman beranda.
{
allSeprNote = allSeprNote.Replace("$firstpage$", "Homepage");//Ganti beranda
allSeprNote = allSeprNote.Replace("$uppage$", "halaman sebelumnya");//Ganti halaman sebelumnya
}
else if (currPageIndex == 1)//Jika halaman saat ini adalah halaman kedua, terdapat link ke halaman sebelumnya dan halaman beranda, dan link ke halaman sebelumnya dan halaman beranda sama, yaitu, fungsinya sama
{
allSeprNote = allSeprNote.Replace("$firstpage$", "<a href='" + noteName + ".html'>Beranda</a>");//Ganti beranda dengan tautan
allSeprNote = allSeprNote.Replace("$uppage$", "<a href='" + noteName + ".html'>Halaman sebelumnya</a>");//Ganti halaman sebelumnya karena merupakan halaman kedua Tautan sama dengan beranda
}
else//jika itu halaman lain
{
int temppageindex = currPageIndex - 1; //Nomor halaman sebelumnya
allSeprNote = allSeprNote.Replace("$firstpage$", "<a href='" + noteName + ".html'>Beranda</a>");//Ganti beranda
allSeprNote = allSeprNote.Replace("$uppage$", "<a href='" + noteName +"-"+temppageindex+ ".html'>Halaman sebelumnya</a>");//Ganti halaman sebelumnya
}
//Buat halaman terakhir dan halaman berikutnya
if (currPageIndex == pageCount - 1)//Jika halaman saat ini adalah halaman terakhir, maka halaman berikutnya dan halaman terakhir mempunyai fungsi yang sama dan tidak memiliki link.
{
allSeprNote = allSeprNote.Replace("$lastpage$", "halaman terakhir");//Ganti halaman terakhir
allSeprNote = allSeprNote.Replace("$drownpage$", "halaman berikutnya");//Ganti halaman berikutnya
}
else//jika itu halaman lain
{
int temppageindex = currPageIndex+1;//nomor halaman berikutnya
allSeprNote=allSeprNote.Replace("$lastpage$", "<a href='" + noteName + "-" + (pageCount - 1) + ".html'>Halaman terakhir</a>");//Hasilkan ekor Halaman
allSeprNote=allSeprNote.Replace("$drownpage$", "<a href='" + noteName + "-" + temppageindex + ".html'>Halaman berikutnya</a>");
}
kembalikan semua SeprNote;
#wilayah akhir
}
/// <ringkasan>
/// Menghasilkan flag paging untuk halaman daftar
/// </ringkasan>
/// <param name="pageTotal">Jumlah total halaman</param>
/// <param name="currentPage">Indeks halaman saat ini (mulai dari nol)</param>
/// <param name="pageSize">Jumlah item konten yang ditampilkan di setiap halaman</param>
/// <param name="name">Nama file (tanpa akhiran)</param>
/// <returns>Bendera paging</returns>
string publik Html_Pager_Multi(int pageTotal, int currentPage, int pageSize, nama string, jalur string)
{
#wilayah
halamanTotal = halamanTotal - 1;
StringBuilder sb = StringBuilder baru();
//Buat tautan beranda dan laman sebelumnya
if (currentPage == 0)//Jika halaman saat ini adalah halaman pertama
{
sb.Append(" Beranda Halaman Sebelumnya ");
}
else if (halaman saat ini == 1)//Jika halaman saat ini adalah halaman kedua
{
sb.Append(" <a href='" + nama + ".html" + "'>Beranda</a>");
sb.Append(" <a href='" + nama + ".html" + "'>Halaman sebelumnya</a> ");
}
kalau tidak
{
sb.Append(" <a href='" + nama + ".html" + "'>Beranda</a>");
sb.Append(" <a href='" + nama + "-" + (Halaman saat ini - 1) + ".html'>Halaman sebelumnya</a> ");
}
int indeksMulai = Halaman saat ini - 5;
int indexEnd = Halaman saat ini + 5;
jika (indeksMulai <= 0)
{
indeksMulai = 0;
indeksAkhir = 10;
}
jika (indeksMulai > 0)
{
indeksMulai = Halaman saat ini - 5;
indexEnd = Halaman saat ini + 5;
}
if (Halaman saat ini >= halamanTotal-10)
{
indeksMulai = total halaman - 10;
indexEnd = total halaman;
}
//Hasilkan nomor halaman detail
untuk (int i = indeksMulai; i <= indeksEnd; i++)
{
jika (i == Halaman saat ini)
{
sb.Tambahkan(" " + (i+1) + " ");
}
else if (i == 0)//Jika halaman saat ini adalah halaman kedua, maka perlu diproses secara terpisah
{
sb.Append(" <a href='" + nama + ".html'>" + (i + 1) + "</a> ");
}
kalau tidak
{
sb.Append(" <a href='" + nama + "-" + i + ".html'>" + (i + 1) + "</a> ");
}
}
//Buat halaman berikutnya dan halaman terakhir
if (currentPage == pageTotal)//Jika halaman saat ini adalah halaman terakhir
{
sb.Append(" Halaman selanjutnya ");
sb.Append(" Halaman terakhir ");
}
kalau tidak
{
sb.Append(" <a href='"+nama+"-"+(Halaman saat ini+1)+".html'>Halaman berikutnya</a> ");
sb.Append(" <a href='"+nama+"-"+pageTotal+".html'>Halaman terakhir</a>");
}
sb.Append(" " + (Halaman saat ini + 1) + "/" + (Total halaman + 1));
sb.Append(" Buka:<pilih nama="qq" id="ddlIndexList" onchange="javascript:location.href=this.value;">" );
string absolutePaths = HttpContext.Current.Request.Url.ToString();//Dapatkan url
absolutePaths = absolutePaths.Substring(0, absolutePaths.LastIndexOf("/"))+"\" + path;//Dapatkan url jalur root situs web
untuk (int j = 1; j <= (total halaman+1); j++)
{
jika(j==1)
{
sb.Append("<nilai opsi='" + absolutePaths+" \"+nama + ".html'>" + j + "</option>");
}
kalau tidak
{
sb.Append("<nilai opsi='" + absolutePaths+" \"+nama + "-" + (j - 1) + ".html'>" + j + "</option>");
}
}
sb.Tambahkan("</pilih>");
sb.Append("<tipe skrip="teks/javascript" bahasa="javascript">");
if (Halaman saat ini == 0)//Halaman pertama
{
string d = "document.getElementById("ddlIndexList").value = "" + nama + ".html";";
sb.Append("document.getElementById("ddlIndexList").value = ""+nama+".html";");
}
kalau tidak
{
string k = " document.getElementById("ddlIndexList").value = "" + nama + "-" + Halaman saat ini + ".html";";
sb.Append(" document.getElementById("ddlIndexList").value = "" + nama+"-"+Halaman Terkini + ".html";");
}
sb.Tambahkan("</script>");
kembali sb.ToString();
#wilayah akhir