网站首页 手机版
 注册 登录
您现在的位置: 畅无忧设计 >> 网站建设 >> 动易专区 >> SiteFactory教程 >> 正文
最新文章
· 三个文件四行代码解决SiteWeaver6.8编
· 会员中心添加视频,FLASH前台不显示
· 网页中加入背景音乐
· 安装网站时提示数据库相关错误解决办
· 批量替换数据库挂马字段内容
· 动易系列软件产品4.7版本发布
· 动易系列软件产品4.6版本发布
· 标题中的符号导致焦点图不显示
· 导航条当前栏目按钮加亮效果详解
· 自定义模型内容页访问地址添加参数的
热门文章
 学习动易SF标签常用的XSLT <xsl:te
 在SiteFactory™后台制作、管
 SiteFactory自定义模型建立操作教程
 学习动易SF标签常用的XSLT元素
 标签出错,提示原因“缺少根元素”
 SiteFactory标签参数
 SiteFactory标签制作流程——最新头
 SiteFactory标签制作流程——最新头
 自定义模型内容页访问地址添加参数
 SiteFactory学习笔记
相关文章
没有相关文章
4.5模板解析引擎——外部程序集使用
来源:动易 更新时间:2011/12/28 22:51:20 阅读次数:
字体:[ ] 我要投稿

  这里我们以一个完整的范例来讲解外部程序集在标签解析引擎中的用法。

  (关于程序方面的知识,超出了本文所讲授的范围。下面的内容以C#讲授,如不能理解代码可参考《C#入门经典》一书)

  开启Visual Studio新建一个项目,模板选择类库,项目名和解决方案取名为MyFunction选择好保存的位置后点击确定按钮。此主题如下:

  

  添加引用动易系统中的程序集:PowerEasy.TemplateEngine.dll

  

  

  在编辑窗口,我们在默认的Class1类中增加三个方法,如下:

namespace MyFunction
{
    public class Class1
    {
        public static string SayHello()
        {
            return "Hello PowerEasy";
        }
 
        public static double GetMultiply(double lhs, double rhs)
        {
            return lhs * rhs;
        }
 
        public static decimal ShowDecimalRound(decimal Argument, int Digits)
        {
            return decimal.Round(Argument, Digits);
        }
 
    }
}
 
 
注意下面一步,把方法使用特性标示一下,表示是内置函数。如下:

namespace MyFunction
{
    using PowerEasy.TemplateEngine.XpowerEngine.Parser;
 
    [ExtensionObject]
    public class Class1
    {
        public static string SayHello()
        {
            return "Hello PowerEasy";
        }
 
        public static double GetMultiply(double lhs, double rhs)
        {
            return lhs * rhs;
        }
 
        public static decimal ShowDecimalRound(decimal Argument, int Digits)
        {
            return decimal.Round(Argument, Digits);
        }
 
    }
}

  第一个方法,用于显示一条信息
  第二个方法,用于返回两个数的乘积
  第三个方法,用于精确保留小数位

  接下来我们,选择生成菜单的生成MyFunction,生成此程序集,此主题如下:

  

  这样便生成了一个MyFunction.dll的文件,我们将其复制到站点根目录下的bin目录中。

  至后台,系统设置→模板标签管理→标签管理,增加一个新的标签,类型选择简单XSLT解析,可不选择数据源,此主题如下:

  在标签模板头部引入我们定义的命名空间,并且按照正确的方法签名调用即可。

<?xml version="1.0" encoding="utf-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:pe="labelproc" xmlns:MyFun="Class1" exclude-result-prefixes="pe MyFun">
<xsl:output method="html" />
<xsl:template match="/">
    <xsl:value-of select="MyFun:SayHello()"/>
    <xsl:value-of select="MyFun:GetMultiply(3, 3)"/>
<xsl:value-of select="MyFun:ShowDecimalRound(3.333, 2)"/>
</xsl:template>
</xsl:transform>

  这里是Class1,跟你刚刚定义的类名要一样。
  调用方法为 命名空间名称 冒号 方法签名

  至此我们完成了标签解析引擎对外部程序集的使用,对于高级用户,或者不满足与现在有的XSLT,XPATH,内置函数库,所提供的功能用户,通过这种外部 程序集的方式,能够最大化的满足其心仪的功能和想法。让我们尽情的感受来自PowerEasy Xpower引擎的自由与强大吧!

  • 上一篇文章:
  • 下一篇文章:
  • 关于我们 - 联系我们 - 广告服务 - 在线投稿 - 友情链接 - 网站地图 - 版权声明
    CopyRight 2008-2010, CWYDESIGN.COM - 畅无忧设计, Inc. All Rights Reserved
    滇ICP备09005765号