方案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
檔案裡就可以了。方案2:
生成單個的靜態頁面不是難點,難的是各個靜態頁面間的關聯和鏈結如何保持完整;
特別是在頁面頻繁更新、修改、或刪除的情況下;像阿里巴巴的頁面也全部是
html
的,估計用的是位址對映的功能
可以看看這個頁面,分析一下他的「競價倒計時」功能
生成靜態
html頁在
asp中實現的生成靜態頁用到的
filesystemobject物件!
在.net
中涉及此類操作的是
system.io
以下是程式**注
:此**非原創
!參考別人**
code:
//生成
html
頁讀取模板檔案
讀取檔案
}catch(exception exp)
string htmlfilename=datetime.now.tostring("yyyymmddhhmmss")+".html";
// 替換內容
// 這時
,模板檔案已經讀入到名稱為
str的變數中了
str =str.replace("showarticle",strtext); //
模板頁中的
showarticle
str = str.replace("biaoti",strtext);
str = str.replace("content",strcontent);
str = str.replace("author",strauthor);
// 寫檔案
trycatch(exception ex)
finally
return true;
此函式放在
conn.cs
基類中了
在新增新聞的**中引用注:工程名為
hover if(hover.conn.writefilethis.title.text.tostring),this.content.text.tostring),this.author.text.tostring)))
else
提示新增成功後會出以當前時間為檔名的
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
sr.close();
} }
catch
//---------------------
給標記陣列賦值
背景format[1]= "#990099";//
字型顏色
format[2]="150px";//
字型大小
format[3]= "
<marquee
>生成的模板
html
頁面</marquee
>";//
文字說明
//----------
替換htm
裡的標記為你想加的內容
for(int i=0;i
<4;i++)
//----------
生成htm
檔案------------------
――try }
catch 小結
用此方法可以方便的生成
html
檔案。程式使用了是迴圈替換,因此對需替換大量元素的模板速度非常快
如何生成靜態頁
方案1 傳入url返回網頁的html url public static string geturltohtml string url get the response stream.system.io.stream respstream wresp.getresponsestream dim re...
如何生成靜態頁
如何生成靜態頁 方案1 傳入url返回網頁的html url biaoti content author biaoti content author 提示新增成功後會出以當前時間為檔名的html檔案 上面只是把傳遞過來的幾個引數直接寫入了html檔案中,在實際應用中需要先新增資料庫,然後再寫入htm...
生成靜態頁
先定義乙個staticfilecachemodule 實現ihttpmodule介面 定製beginrequest事件 再定義乙個類 要生成靜態頁面的繼承它就行了 將頁面內容輸出到瀏覽器 response.write pagecontent 當然不要忘在配置web.confing 用模板生成靜態頁 ...