`

Asp.net模板引擎技术

    博客分类:
  • .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模板引擎 v4.4

    网鸟Asp.Net模板引擎是基于 C# 语言开发的应用于 Asp.Net 平台的代码分析工具。它可以将指定语法结构的代码模板转换为运行时代码文档以提高您的开发效率,同时也能够强制分离您的代码业务逻辑和用户界面,实现分层...

    ASP.NET 模板引擎 jntemplate C#模板引擎,可以多模板切换

    ASP.NET 模板引擎,如jntemplate,是.NET开发者常用的一种工具,它极大地简化了网页和各种文本生成的工作流程。这种模板引擎的核心思想是将显示逻辑与业务逻辑分离,使得设计人员和开发人员可以各自独立地进行工作,...

    网鸟Asp.Net模板引擎 v4.2

    项目名称:网鸟Asp.Net模板引擎运行环境:.Net 4当前版本:Version 4.2主要作者:老陈版权所有:网鸟老兵团技术支持:网鸟IT技术论坛 功能 支持SSI机制内置SDE(动态页面与静态页面自动均衡)机制内置多语言引擎...

    Asp.Net模板引擎_aspx开发教程.rar

    Asp.Net模板引擎是微软.NET框架下用于快速构建动态网页的一种技术,它允许开发者通过使用ASPX文件(ASP.NET的视图引擎)来创建可复用的、动态生成的HTML页面。在本教程中,我们将深入探讨Asp.Net模板引擎的基础知识...

    ASP源码—网鸟Asp.Net模板引擎 v4.2.zip

    【ASP.NET模板引擎】是用于ASP.NET开发的一种技术,它允许开发者将静态的HTML模板与动态数据结合起来,生成动态网页内容。"网鸟Asp.Net模板引擎 v4.2"是一个特定版本的模板引擎,专注于提升开发效率和用户体验。在这...

    网鸟Asp.Net模板引擎 v4.2.zip

    网鸟Asp.Net模板引擎是一款专门针对Asp.Net平台开发的高效、易用的模板处理工具,主要用于简化前端代码的编写,提升Web应用的开发效率。版本4.2是其一个重要的更新,可能包含了对先前版本的性能优化、新功能的添加...

    网鸟Asp.Net模板引擎源码.zip

    【标题】"网鸟Asp.Net模板引擎源码"指的是一个专门为Asp.Net平台设计的模板引擎的开源代码。模板引擎是一种允许开发者使用特定的模板语言来动态生成HTML或其他Web内容的工具。在Asp.Net中,这样的引擎可以帮助开发者...

    方配ASP.NET模板引擎及开发教程和案例

    方配网站模板引擎(FangPage Template)也简称为FPT,是一个基于ASP.NET的模板引擎(Template Engine)技术,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。它允许任何人仅仅使用简单类似HTML语法的模板语言...

    方配ASP.NET模板引擎 v2.1

     方配网站模板引擎(FangPage Template)也简称为FPT,是一个基于ASP.NET的模板引擎(Template Engine)技术,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。它允许任何人仅仅使用简单类似HTML语法的模板语言...

    ASP.NET源码——asp.net生成静态页面的模板引擎.zip

    这个压缩包文件"ASP.NET源码——asp.net生成静态页面的模板引擎.zip"包含了一个名为"EFPlatform.TemplateEngine v1.0_aspnetms"的项目,它是一个用于ASP.NET平台的模板引擎,专门用于生成静态HTML页面。这种技术可以...

    方配ASP.NET模板引擎源码v2.1

    在ASP.NET开发中,一般情况下,网站的前台程序不使用.NET控件模式,性能都得到了提升。.NET控件的开发方式比较有利于提高开发效率,提高模块的重用性,但缺陷是性能上会有一些损失,例如不用数据绑定,显然也就不必...

    ASP.NET源码——网鸟Asp.Net模板引擎.zip

    【ASP.NET 源码与网鸟Asp.Net模板引擎详解】 ASP.NET 是微软公司推出的一种Web应用程序开发框架,它基于.NET Framework,为开发者提供了一种高效、安全且易于维护的平台来构建动态网站、Web应用程序和服务。源码是...

    asp.net模板引擎、模板引擎

    Razor视图引擎是ASP.NET MVC和ASP.NET Core中推荐使用的模板引擎,它的语法简洁且强大,能够与C#代码无缝集成。Razor语法的特点是使用`@`符号来引入代码块,并通过`&lt;text&gt;`标签来包含纯文本内容,这样可以在HTML中...

    Asp.Net模板引擎源码

    Asp.Net模板引擎源码 软件简介: Asp.Net模板引擎是基于 C# 语言开发的应用于 Asp.Net 平台的代码分析工具。它可以将指定语法结构的代码模板转换为运行时代码文档以提高您的开发效率,同时也能够强制分离您的代码...

    aspnetms. ASP.net模板引擎

    综上所述,ASP.NET模板引擎是构建动态网站和应用的重要组成部分,它通过分离关注点、简化代码结构和增强可维护性,提高了开发效率。通过深入理解并熟练运用这些模板技术,开发者可以更好地控制网页的呈现,同时充分...

    方配ASP.NET模板引擎源码 v2.1.zip

    方配ASP.NET模板引擎源码 v2.1是一款专为ASP.NET开发者设计的高效、灵活的前端代码生成工具。这款引擎允许开发人员快速地构建动态Web页面,通过将业务逻辑与视图呈现分离,提高开发效率和代码可维护性。在深入理解这...

    asp.net生成静态页面的模板引擎

    Razor视图引擎是ASP.NET MVC中最常用的模板引擎,它的语法简洁且直观。例如,`@`符号用于引入C#代码,`&lt;text&gt;`标签用于包含纯HTML内容,`@foreach`、`@if`等用于控制流程。Razor视图在运行时会被编译成.NET中间语言...

Global site tag (gtag.js) - Google Analytics