您的位置:首页 > 编程语言 > ASP

使用过滤器过滤asp.net mvc输出内容

2012-06-18 10:45 537 查看
在asp.net程序的开发中,有时我们需要对输出的Html代码进行一些后续的处理。如压缩Html代码。实现的方法很简单,我们只需要扩展一个自定义的过滤器。

首先我们创建一个将html转换成大写的过滤器:

public class CapitalFilter : Stream
{
private Stream _responseStream;

public CapitalFilter(Stream responseStream)
{
_responseStream = responseStream;
}

public override void Flush()
{
}

public override int Read(byte[] buffer, int offset, int count)
{
return _responseStream.Read(buffer, offset, count);
}

public override void Write(byte[] buffer, int offset, int count)
{
string html = System.Text.UTF8Encoding.UTF8.GetString(buffer);

html = html.ToUpper();

buffer = System.Text.UTF8Encoding.UTF8.GetBytes(html);

_responseStream.Write(buffer, offset, count);
}
}


因为Response.Filter是一个使用装饰着模式的输出过滤器,所以只需要添加如下代码:

Response.Filter = new CapitalFilter(Response.Filter);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐