ASPX頁生成靜態HTML頁 五種方案

2021-04-15 12:24:41 字數 4892 閱讀 2291

方案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的,估計用的是位址對映的功能

可以看看這個頁面,分析一下他的「競價倒計時」功能

asp.net生成靜態html頁

在asp中實現的生成靜態頁用到的filesystemobject物件!

在.net中涉及此類操作的是system.io   

以下是程式**    注:此**非原創!參考別人**

code:       

//生成html頁

public    static    bool    writefile(string    strtext,string    strcontent,string    strauthor)   

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);

//    寫檔案

try

catch(exception    ex)

finally

return    true;

此函式放在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)

它的作用在於以客戶端的方式獲取某個頁面的**,然後可以做為其他用途,本例是直接輸出

alert("您的機器不支援adodb.stream.")

else

方案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[0]="background="bg.jpg"";//背景   

format[1]=    "#990099";//字型顏色   

format[2]="150px";//字型大小   

format[3]=    "<marquee>生成的模板html頁面</marquee>";//文字說明   

//----------替換htm裡的標記為你想加的內容   

for(int    i=0;i<4;i++)   

//----------生成htm檔案------------------――   

try   

}   

catch   

小結   

用此方法可以方便的生成html檔案。程式使用了是迴圈替換,因此對需替換大量元素的模板速度非常快。 

ASPX頁生成靜態HTML頁

商品detail資訊頁面都是html頁面,減少訪問資料庫的次數,提高效能 方案1 傳入url返回網頁的html url public static string geturltohtml string url get the response stream.system.io.stream resp...

aspx 生成HTML 靜態頁

cs 頁 using system using system.data using system.configuration using system.collections using system.web using system.web.security using system.web.ui...

aspx生成靜態htm頁

新建兩個類 1.freezablepage 它繼承自 system.web.ui.page。這個類用於重寫render方法,獲取頁面的htm輸出。2.myhtmlfilecreator 利用freezablepage輸出的htmltextwriter型物件,寫入新生成的htm靜態檔案。base.re...