zoukankan      html  css  js  c++  java
  • NVelocity在项目中的使用

    本文要说明的是如果要在项目中加入NVelocity引擎模板。而且在使用和操作起来更加的方便!

            NVelocity是一个基于.NET的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由.NET代码定义的对象。至于其他的一些别的NVelocity的的解释、和一些用法这里就不在提及。

            具体的使用方法:

            1,定义Velocity辅助类(VelocityHelper.cs)

                      提供下载  当然,这个辅助类需要添加NVelocity.dll的引用。

            2,aspx页面和Template的结构说明

                      这个其实是需要根据个人喜好来定!为了更好的能看清自己的结构,我是这样来放置的!如图:

                      QQ截图未命名

          Template放置所有 *.vm模板

          其中:Browse文件夹放置前台页面的模板,Manage文件夹放置后台页面模板。需要注意的是这连个文件夹下的Default文件夹只是一个区分前台或者后台模板的一个标识,在调用时来区分。

          Manage文件夹放置管理的*.aspx页面

          Manage文件夹下的页面例如LinkTypeEdit.aspx所调用的模板就为Template/Defalut/LinkTypeEdit.vm。名称依次对应,当然,对应不是必须的。

          根目录放置前台*.aspx页面

          前台页面调用的模板为Template/Browse/Defalut/下的模板,和管理页面一样也是名称相互对应。

         3,调用、赋值方法

         在项目中加入VelocityHelper.cs这个辅助类。

         我们以Defalut.aspx为例来大概讲解,首先我们先编辑Template/Browse/Defalut/Default.vm,这是我们首页的模板。

         QQ截图未命名

         可以看到我们在两个地方使用了模板的变量,分别是$PageTitle,$hello。这样们肯定就需要在Default.aspx中利用引擎模板来做为变量赋值、显示模板等操作。

         下面就让我们来处理一下Defalut.aspx页面,因为显示完全是使用模板,所以Default.aspx页面时不需要有任何的东西,只留下@ Page 的一行就可以。后台代码在Page_Load事件中,我们就要作出相应的操作了!

    1. protected void Page_Load(object sender, EventArgs e){  
    2.      //创建辅助类  
    3.      Luz.Web.Util.VelocityHelper vh = new Luz.Web.Util.VelocityHelper();  
    4.   
    5.      //模板位置  
    6.      string templatePath = "/Template/Browse/Defalut/";  
    7.          
    8.      //通过模版位置初始化引擎  
    9.      vh.Init(templatePath);  
    10.          
    11.      //为变量赋值,第一个参数是变量的名称,也就是你在模版也中写的变量的名称,注意没有"$";第二个参数是值,Object类型。  
    12.      vh.PutSet("PageTitle""Hi I am Title");  
    13.     vh.PutSet("hello""Hello NVoleCity");  
    14.          
    15.      //显示模板  
    16.       vh.Display("Default.vm");  
    17.  }  

         这样,运行一下看看,是不是模板已经显示出来,而且$PageTitle和$hello已经被替换成了我们在Page_Load事件中为它赋的值。当然,赋值的时候你可以是任何类型,包括List泛型(模板中使用#foreach遍历)等。

    http://www.cnblogs.com/luzhilong/archive/2010/11/17/1879575.html

  • 相关阅读:
    野指针
    MFC动态创建控件及其消息响应函数
    关于CString总结
    关于char, wchar_t, TCHAR, _T(),L,宏 _T、TEXT,_TEXT、L
    VS2005、VS2008中的快捷键、组合键大全
    could not be found (are you missing a using directive or an assembly reference?)
    项目任务管理系统
    VSDBCMD
    sqlcmd
    Microsoft® Command Line Utilities 11 for SQL Server®
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2026457.html
Copyright © 2011-2022 走看看