NET网页编程之小议ASP.NET模板引擎手艺的利用
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的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了? Asp.net脚本的出现,为ASP空间带来了更高的稳定性,同时也为程序员建站提供更高环境! 市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
页:
[1]