|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
java的设计机制:首先产生一个中间码,第二部编译为本地(机器)码。这个机制有很大的缺点。我们将从PHP模板引擎手艺谈谈ASP.NET模板引擎手艺,但愿经由过程本文的实例和代码,能让人人在从此的开辟过程当中加倍天真的使用ASP.NET模板引擎手艺。
之前听我伴侣提及php的模板引擎手艺的时分似懂非懂哪时感到真的很强,一向在想asp.net有这类手艺吗?我不晓得我的了解是否是对的.实在asp.net模板引擎手艺就是先建好一个静态的html页面我们称它为模板页,你假如有分歧情势的页面哪就得创建分歧的静态模板页,然后在背景用文件操纵往这个文件里写器材然后在把这个模板页另存到一个静态页面的目次,欠好意义大概我的了解太俗。如今我附加一下代码
Default.aspx这个页面只要几个textbox控件和两个按钮控件
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"ValidateRequest="false"Inherits="ToHtml._Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>Asp.net天生静态页</title>
</head>
<body>
<formid="form1"runat="server">
<div>
题目:<asp:TextBoxID="txtTitle"runat="server"Width="352px"></asp:TextBox><br/>
内容:<asp:TextBoxID="txtContent"runat="server"Height="179px"TextMode="MultiLine"
Width="350px"></asp:TextBox>
<br/>
<asp:ButtonID="Button1"runat="server"Text="依据模板天生"/><br/>
<br/>
Url地点:<asp:TextBoxID="txtUrl"runat="server"ToolTip="请确认Url地点的存在"Width="359px"></asp:TextBox>
<br/>
<asp:ButtonID="Button2"runat="server"Text="依据Url地点天生"/></div>
</form>
</body>
</html>
要筹办的模板页代码,htm文件页面对照复杂,假如有乐趣的伴侣能够做成更庞大的模板页
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>$title$天生静态页title>
<styletype="text/CSS">
<!--
.STYLE1{
font-size:16px;
font-weight:bold;
}
-->
</style>
</head>
<body>
<tablewidth="100%"border="0"bgcolor="#339900">
<tr>
<tdheight="34"align="center"bgcolor="#FFFFFF"><spanclass="STYLE1">$title$</span></td>
</tr>
<tr>
<tdheight="42"bgcolor="#FFFFFF">
内容:$content$</td>
</tr>
</table>
</body>
</html>
背景天生静态页面的代码Default.aspx.cs次要用到了文件操做
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Net;
usingSystem.Text;
usingSystem.IO;
namespaceToHtml
{
//www.lmwlove.com天生静态页演示文件,转载请保存该信息
publicpartialclass_Default:System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
{
}
//依据模板天生,坚持在html文件夹中(部分源码汇集于收集)
protectedvoidButton1_Click(objectsender,EventArgse)
{
//源码是交换失落模板中的特性字符
stringmbPath=Server.MapPath("template.htm");
Encodingcode=Encoding.GetEncoding("gb2312");
StreamReadersr=null;
StreamWritersw=null;
stringstr=null;
//读取
try
{
sr=newStreamReader(mbPath,code);
str=sr.ReadToEnd();
}
catch(Exceptionex)
{
throwex;
}
finally
{
sr.Close();
}
//依据工夫主动重定名,扩大名也能够自行修正
stringfileName=DateTime.Now.ToString("yyyyMMddHHmmss")+".htm";
str=str.Replace("$title$",txtTitle.Text);//交换Title
str=str.Replace("$content$",txtContent.Text);//交换content
//天生静态文件
try
{
sw=newStreamWriter(Server.MapPath("htm/")+fileName,false,code);
sw.Write(str);
sw.Flush();
}
catch(Exceptionex)
{
throwex;
}
finally
{
sw.Close();
Response.Write("祝贺<ahref=htm/"+fileName+"target=_blank>"+fileName+"</a>已天生,保留在htm文件夹下!");
}
}
//依据Url地点天生静态页坚持
protectedvoidButton2_Click(objectsender,EventArgse)
{
Encodingcode=Encoding.GetEncoding("utf-8");
StreamReadersr=null;
StreamWritersw=null;
stringstr=null;
//读取远程路径
WebRequesttemp=WebRequest.Create(txtUrl.Text.Trim());
WebResponsemyTemp=temp.GetResponse();
sr=newStreamReader(myTemp.GetResponseStream(),code);
//读取
try
{
sr=newStreamReader(myTemp.GetResponseStream(),code);
str=sr.ReadToEnd();
}
catch(Exceptionex)
{
throwex;
}
finally
{
sr.Close();
}
stringfileName=DateTime.Now.ToString("yyyyMMddHHmmss")+".html";
//写进
try
{
sw=newStreamWriter(Server.MapPath("htm/")+fileName,false,code);
sw.Write(str);
sw.Flush();
}
catch(Exceptionex)
{
throwex;
}
finally
{
sw.Close();
Response.Write("祝贺<ahref=htm/"+fileName+"target=_blank>"+fileName+"</a>已天生,保留在htm文件夹下!");
}
}
}
}
我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了? |
|