方案1:
///
/// 傳入url返回網頁的html**
///
/// url
///
public static string geturltohtml(string url)
// get the response stream.
system.io.stream respstream = wresp.getresponsestream();
// dim reader as streamreader = new streamreader(respstream)
system.io.streamreader reader = new system.io.streamreader(respstream, system.text.encoding.getencoding("gb2312"));
return reader.readtoend();
}catch(system.exception ex)
return "";
}你可以用這個函式獲取網頁的客戶端的html**,然後儲存到.html檔案裡就可以了。
像阿里巴巴的頁面也全部是html的,估計用的是位址對映的功能
關於位址對映可參考:http://.easewe.com/article/showarticle.aspx?article=131
可以看看這個頁面,分析一下他的「競價倒計時」功能
此函式放在conn.cs基類中了
在新增新聞的**中引用 注:工程名為hover
if(hover.conn.writefilethis.title.text.tostring),this.content.text.tostring),this.author.text.tostring)))
else
模板頁text.html**
code:
showarticle
biaoti
content
author
biaoti
content
author
提示新增成功後會出以當前時間為檔名的html檔案!上面只是把傳遞過來的幾個引數直接寫入了html檔案中,在實際應用中需要先新增資料庫,然後再寫入html檔案
方案3:
給乙個客戶端參考的例子(sj)
它的作用在於以客戶端的方式獲取某個頁面的**,然後可以做為其他用途,本例是直接輸出
方案4:學csdn一樣。用xml儲存資料,模版xsl也只有乙個檔案。
使用xml來儲存資料,使用xsl來定義模板並且生稱資料。可以通過xsl來很方便的在客戶端或者服務段顯示資料。如果要生成靜態葉面那更簡單了。去查一下.net的xml類包問題解決。
優點:可以方便快速轉換成你想要的格式和內容。
缺點:需要學習更多的內容,不好入門。
方案5:
思路
1. 利用如dw-mx這樣的工具生成html格式的模板,在需要新增格式的地方加入特殊標記(如$htmlformat$),動態生成檔案時利用**讀取此模板,然後獲得前台輸入的內容,新增到此模板的標記位置中,生成新檔名後寫入磁碟,寫入後再向資料庫中寫入相關資料。
2. 使用後台**硬編碼html檔案,可以使用htmltextwriter類來寫html檔案。
優點
1. 可以建立非常複雜的頁面,利用包含js檔案的方法,在js檔案內加入document.write()方法可以在所有頁面內加入如頁面頭,廣告等內容。
2. 靜態html檔案利用ms windows2000的index server可以建立全文搜尋引擎,利用asp.net可以以datatable的方式得到搜尋結果。而win2000的index服務無法查詢xml檔案的內容。如果包括了資料庫搜尋與index索引雙重查詢,那麼此搜尋功能將非常強大。
3. 節省伺服器的負荷,請求乙個靜態的html檔案比乙個aspx檔案伺服器資源節省許多。
缺點
思路二: 如果用硬編碼的方式,工作量非常大,需要非常多的html**。除錯困難。而且使用硬編碼生成的html樣式無法修改,如果**更換樣式,那麼必須得重新編碼,給後期帶來巨大的工作量。
因此這裡採用的是第一種思路
示列**
1.定義(template.htm)html模板頁面
//---------------------讀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)
sr.close();
catch
response.write("<script>alert('讀取檔案錯誤')</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:");
小結
用此方法可以方便的生成html檔案。程式使用了是迴圈替換,因此對需替換大量元素的模板速度非常快。
如何生成靜態頁
方案1 傳入url 返回網頁的 html url public static string geturltohtml string url get the response stream.system.io.stream respstream wresp.getresponsestream dim ...
如何生成靜態頁
如何生成靜態頁 方案1 傳入url返回網頁的html url biaoti content author biaoti content author 提示新增成功後會出以當前時間為檔名的html檔案 上面只是把傳遞過來的幾個引數直接寫入了html檔案中,在實際應用中需要先新增資料庫,然後再寫入htm...
生成靜態頁
先定義乙個staticfilecachemodule 實現ihttpmodule介面 定製beginrequest事件 再定義乙個類 要生成靜態頁面的繼承它就行了 將頁面內容輸出到瀏覽器 response.write pagecontent 當然不要忘在配置web.confing 用模板生成靜態頁 ...