sql
xml
ajax
mysql
linux
xcode
ruby-on-rails
regex
objective-c
eclipse
silverlight
html5
json
perl
algorithm
facebook
oracle
tsql
apache
I'm not completely sure about your case, but I found about child actions on view: they use their own cache (not System.Web.HttpContext.Current.Cache), which you can access through static member
CacheOutputAttribute.ChildActionCache
Cache of child actions has pretty complicated key, which I was not able to calculate. So, I end up with solution to add a new variable(such a version or timestamp) to my model and pass it as parameter to action method; so I can invalidate my cache with changing this property.
However I'm not 100% sure it is your case, as you are doing not child action caching.
I ended up using this code and it works great!
http://antix.co.uk/Blog/IfModifiedAttribute