Here is the latest addition to AspView.

example:

<%@ Page Language="C#" Inherits="Castle.MonoRail.Views.AspView.ViewAtDesignTime" %>  <%  %>  Outside the filter  <filter:LowerCase>
Inside the LowerCaseViewFilter - this text should be viewed in lower case
</filter:LowerCase>
Outside the filter AGain
<filter:UpperCase>
Inside the UpperCaseViewFilter - this text should be viewed in upper case
</filter:UpperCase> Finally - outside the filter

As you can see, the syntax is simple. Given a viewFilter, named "MyViewFilter", you use the xml tag <filter:my> or <filter:myViewFilter>. The viewfilter itself has to be suffixed with "ViewFilter" (Just like Controllers are suffixed with "Controller", etc.), and it has to implement IViewFilter which is defined with:

using System;
using System.Collections.Generic;
using System.Text;
namespace Castle.MonoRail.Views.AspView
{
public interface IViewFilter
{
string ApplyOn(string input);
}
}

The power of the ViewFilters is than they can apply to a whole SubView, while the subview is rendered as a black box, the filter does the work AFTER the subview was rendered.

Grab the sources, play, and have fun.