• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
wysky
博客园    首页    新随笔    联系   管理    订阅  订阅
模板机制的第一个程序Hello World
很简单,但是终于还是弄出来了~ 用的StringTemplate模板引擎~原本模板是写在.cs里面的,分离出来之后感觉速度慢了不少....估计要缓存吧~不知道还有更好的建议没有
很简单,但是终于还是弄出来了~
用的StringTemplate模板引擎~原本模板是写在.cs里面的,分离出来之后感觉速度慢了不少....估计要缓存吧~不知道还有更好的建议没有

模板页
<!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>
    
</head>
    
<body>
        $var$
    
</body>
</html>


.aspx页面
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TemplateTest._Default" %>

.cs页面
using System;
using System.Web;
using Antlr.StringTemplate;
using System.IO;
//using Antlr.StringTemplate.Language;
//using antlr.collections;

namespace TemplateTest
{
    
public partial class _Default : System.Web.UI.Page
    {
        
protected void Page_Load(object sender, EventArgs e)
        {
            StringTemplate st 
= new StringTemplate(Read("default.htm"));
            st.SetAttribute(
"title", "第一个示例");
            st.SetAttribute(
"var", "Hello World");
            Response.Write(st.ToString());
        }

        
public static string Read(string filename)
        {

            filename 
= HttpContext.Current.Server.MapPath("~/Template/" + filename);
            
using (FileStream fs = new FileStream(filename, FileMode.Open, FileAccess.Read))
            {
                StreamReader sr 
= new StreamReader(fs);
                
return sr.ReadToEnd();
            }

        }



    }
}


还有效果图
posted on 2007-12-04 18:03  文's sky  阅读(389)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3