日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

小议ASP.NET模板引擎技术的使用

發布時間:2024/9/20 asp.net 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小议ASP.NET模板引擎技术的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我們將從PHP模板引擎技術談談ASP.NET模板引擎技術,希望通過本文的實例和代碼,能讓大家在今后的開發過程中更加靈活的運用ASP.NET模板引擎技術。

以前聽我朋友說起php的模板引擎技術的時候似懂非懂哪時感覺真的很強,一直在想asp.net有這種技術嗎?我不知道我的理解是不是對的.其實asp.net模板引擎技術就是先建好一個靜態的html頁面我們稱它為模板頁,你如果有不同形式的頁面哪就得建立不同的靜態模板頁,然后在后臺用文件操作往這個文件里寫東西然后在把這個模板頁另存到一個靜態頁面的目錄,不好意思可能我的理解太俗,如果有更好的理解和想法可以在apolov發文章告訴我謝謝。現在我附加一下代碼

Default.aspx這個頁面只有幾個textbox控件和兩個按妞控件

<%@?Page?Language="C#"?AutoEventWireup="true"?CodeBehind="Default.aspx.cs"?ValidateRequest="false"?Inherits="ToHtml._Default"?%>?<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">?<html?xmlns="http://www.w3.org/1999/xhtml"?>?<head?runat="server">?????<title>Asp.net生成靜態頁</title>?</head>?<body>?????<form?id="form1"?runat="server">?????<div>?????????標題:<asp:TextBox?ID="txtTitle"?runat="server"?Width="352px"></asp:TextBox><br?/>?????????內容:<asp:TextBox?ID="txtContent"?runat="server"?Height="179px"?TextMode="MultiLine"?????????????Width="350px"></asp:TextBox><br?/>?????????<br?/>?????????<asp:Button?ID="Button1"?runat="server"?OnClick="Button1_Click"?Text="根據模板生成"?/><br?/>?????????<br?/>?????????<br?/>?????????Url地址:<asp:TextBox?ID="txtUrl"?runat="server"?ToolTip="請確認Url地址的存在"?Width="359px"></asp:TextBox>?????????<br?/>?????????<br?/>?????????<asp:Button?ID="Button2"?runat="server"?Text="根據Url地址生成"?OnClick="Button2_Click"?/></div>?????</form>?</body>?</html>?

要準備的模板頁代碼,htm文件頁面比較簡單,如果有興趣的朋友可以做成更復雜的模板頁嘿嘿

!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">?<html?xmlns="http://www.w3.org/1999/xhtml"?>?<head>?????<title>?$title$?生成靜態頁title>?????<style?type="text/css">?<!-- ?.STYLE1?{ ??font-size:?16px; ??font-weight:?bold; ?} ?-->?????</style>?</head>?<body>?<br?/>?<br?/>?<table?width="100%"?border="0"?bgcolor="#339900">???<tr>?????<td?height="34"?align="center"?bgcolor="#FFFFFF"><span?class="STYLE1">$title$?</span></td>???</tr>???<tr>?????<td?height="42"?bgcolor="#FFFFFF"><br?/>???????<br?/>?????內容:$content$?</td>???</tr>?</table>??</body>?</html>?

后臺生成靜態頁面的代碼Default.aspx.cs主要用到了文件操做

sing?System; ?using?System.Data; ?using?System.Configuration; ?using?System.Web; ?using?System.Web.Security; ?using?System.Web.UI; ?using?System.Web.UI.WebControls; ?using?System.Web.UI.WebControls.WebParts; ?using?System.Web.UI.HtmlControls; ?using?System.Net; ?using?System.Text; ?using?System.IO; ??namespace?ToHtml ?{ ?????//51aspx.com生成靜態頁演示文件,轉載請保留該信息 ?????public?partial?class?_Default?:?System.Web.UI.Page ?????{ ?????????protected?void?Page_Load(object?sender,?EventArgs?e) ?????????{ ???????????? ?????????} ??????????//根據模板生成,保持在html文件夾中(部分源碼搜集于網絡) ?????????protected?void?Button1_Click(object?sender,?EventArgs?e) ?????????{ ?????????????//源碼是替換掉模板中的特征字符 ??????????????string?mbPath?=Server.MapPath("template.htm"); ?????????????Encoding?code?=?Encoding.GetEncoding("gb2312"); ?????????????StreamReader?sr?=?null; ?????????????StreamWriter?sw?=?null; ?????????????string?str?=?null; ??????????????//讀取 ?????????????try?????????????{ ?????????????????sr?=?new?StreamReader(mbPath,?code); ?????????????????str?=?sr.ReadToEnd(); ??????????????} ?????????????catch?(Exception?ex) ?????????????{ ?????????????????throw?ex; ?????????????} ?????????????finally?????????????{ ?????????????????sr.Close(); ?????????????} ??????????????//根據時間自動重命名,擴展名也可以自行修改 ?????????????string?fileName?=?DateTime.Now.ToString("yyyyMMddHHmmss")?+?".htm"; ?????????????str?=?str.Replace("$title$",?txtTitle.Text);//替換Title ?????????????str?=?str.Replace("$content$",?txtContent.Text);//替換content ??????????????//生成靜態文件 ?????????????try?????????????{ ?????????????????sw?=?new?StreamWriter(Server.MapPath("htm/")?+?fileName,?false,?code); ?????????????????sw.Write(str); ?????????????????sw.Flush(); ??????????????} ?????????????catch?(Exception?ex) ?????????????{ ?????????????????throw?ex; ?????????????} ?????????????finally?????????????{ ?????????????????sw.Close(); ?????????????????Response.Write("恭喜<a?href=htm/"+fileName+"?target=_blank>"+fileName+"</a>已經生成,保存在htm文件夾下!"); ?????????????} ???????????} ???????????//根據Url地址生成靜態頁保持 ?????????protected?void?Button2_Click(object?sender,?EventArgs?e) ?????????{ ?????????????Encoding?code?=?Encoding.GetEncoding("utf-8"); ?????????????StreamReader?sr?=?null; ?????????????StreamWriter?sw?=?null; ?????????????string?str?=?null; ??????????????//讀取遠程路徑 ?????????????WebRequest?temp?=?WebRequest.Create(txtUrl.Text.Trim()); ?????????????WebResponse?myTemp?=?temp.GetResponse(); ?????????????sr?=?new?StreamReader(myTemp.GetResponseStream(),?code); ?????????????//讀取 ?????????????try?????????????{ ?????????????????sr?=?new?StreamReader(myTemp.GetResponseStream(),?code); ?????????????????str?=?sr.ReadToEnd(); ??????????????} ?????????????catch?(Exception?ex) ?????????????{ ?????????????????throw?ex; ?????????????} ?????????????finally?????????????{ ?????????????????sr.Close(); ?????????????} ?????????????string?fileName?=?DateTime.Now.ToString("yyyyMMddHHmmss")?+?".html"; ??????????????//寫入 ?????????????try?????????????{ ?????????????????sw?=?new?StreamWriter(Server.MapPath("htm/")?+?fileName,?false,?code); ?????????????????sw.Write(str); ?????????????????sw.Flush(); ??????????????} ?????????????catch?(Exception?ex) ?????????????{ ?????????????????throw?ex; ?????????????} ?????????????finally?????????????{ ?????????????????sw.Close(); ?????????????????Response.Write("恭喜<a?href=htm/"?+?fileName?+?"?target=_blank>"?+?fileName?+?"</a>已經生成,保存在htm文件夾下!"); ?????????????} ??????????} ?????} ?}?

原文標題:Asp.net模板引擎技術

鏈接:http://www.cnblogs.com/resoar/archive/2009/10/09/1579370.html

總結

以上是生活随笔為你收集整理的小议ASP.NET模板引擎技术的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。