TransformFilter是用来转换用的,比如把页面所有的内容转换成大写,或把一些关键字转换成超链接。比如我们经常看到一些博客内容中的关键字都被转换成超链接了,就可以使用TransformFilter来实现。TransformFilter都是在实际渲染页面之前执行的
1、利用现成的类把小写替换成大写:
controller:
[TransformFilter(typeof(WikiTransformFilter),ExecutionOrder=1),TransformFilter(typeof(UpperCaseTransformFilter),ExecutionOrder=2)]
publicvoidIndex()
{
}
主要就是使用了TransformFilter属性,然后利用monorail中已经提供的WikiTransformFilter和UpperCaseTransformFilter两个Filter(在Castle.MonoRail.Framework.TransformFilters下)
可以看到对于同一个方法可以使用多个TransformFilter,ExecutionOrder是指定执行顺序
注意点:TransformFilter属性只能用在方法上,不能用在类上
2、定义和使用自己的Filter类
[TransformFilter(typeof(MyTransformFilter))]
publicvoidIndex()
{
}
classMyTransformFilter:TransformFilter
{
publicMyTransformFilter(StreambaseStream)
:base(baseStream)
{
}
publicoverridevoidWrite(byte[]buffer,intoffset,intcount)
{
if(Closed)thrownewObjectDisposedException("MyTransformFilter");
stringcontent=Encoding.Default.GetString(buffer,offset,count);
content=content.Replace("GSpring","<ahref='http://www.cnblogs.com/firstyi'>永春阁</a>");
byte[]output=Encoding.Default.GetBytes(content);
BaseStream.Write(output,0,output.Length);
}
}
定义了一个MyTransformFilter,从TransformFilter继承,重载Write方法
这个类的作用就是把所有的网页中出现的GSpring替换成我的博客的链接-_-
欢迎加入:http://www.itpob.cn/bbs
分享到:
相关推荐
:monorail: 单轨| 网络设计系统Monorail for React帮助开发人员执行。 这些组件由SimSpace的工程师和UX设计师的核心团队开发,可实现可靠的开发工作流程,以构建美观且功能强大的Web项目。快速开始将Monorail添加到...
MonoRail学习笔记一:一个小例子 随着微软放出消息,准备发布MVC的框架,各种议论纷至沓来。 以前用java、jsp对它的MVC结构、集中控制印象特别深刻,自从用了.NET后,虽然webform的控件很好用,总感觉有点怪怪的 ...
它们可用于使用任何长的、最好是高质量的序列(例如来自另一个基因组草图的 scaftigs/contigs)来构建和完成高质量的基因组草图组装。 它们都依赖于准确的长 DNA 序列来修补现有基因组组装草案中的空白。 Cobbler...
MonoRail基础学习文档和实例 欢迎大学学习交流
MonoRail示例建立一个简单的mvc结构
Kirby + Vue.js入门套件主要特征 :motorway: 自动路由 :magnifying_glass_tilted_left: SEO友好:元标记 :globe_with_meridians: :wheelchair_symbol: 无障碍前端路由 :monorail: :dizzy: 页面数据 :high_voltage: ...
学习资料monorail
Monorail PaginationHelper.CreateCustomPage 自定义分页 应用 Monorail分页
有关monorail的小例子,简单易懂~~想要学习monorail就从他开始吧~
ShoppingCart-MonoRail.rar,这是monorail的一个经典实例
Monorail .Net的sample
这是一个monorail的过滤器实例,和java中的差不多
MonoRail入门实例 filter home rescue routing layout 总共20个。
C#开发 MonoRail+IBatisNet +Velocity+vs2010的项目实例,初学者配置起来比较繁琐,配置好使用起来发现IBatisNet 还是很强大的!
MonoRail 实体类生成器简单的操作为程序员节省时间。
研究MonoRail的几个功能 上传图片功能 和 整合FCK的功能
monorail一个简单的例子 可以学习入门的
C#开发 ibatisnet+monorail+vs2010的项目实例
SharpDevelop下的castle monorail工程模板,请拷贝到安装目录下 data\templates\project\CSharp 中。重启SharpDvelop即可选择MonoRail类型工程。