Disable caching of MVC widgets
This article describes how to disable caching of MVC widgets without disabling the output cache for the whole page.
Because the MVC widget Razor view (the
.cshml file) cannot be excluded from the page cache, you need to update the content through an AJAX call.
The following sample demonstrates a simple MVC widget which displays random numbers, even if the page is cached.
The controller defines a JSON route at
~/rest-api/ajax-widget-data which is used to return the data.
The view performs an AJAX call to that route using
$.ajax. It sets the
cache: false parameter to avoid that response to be cached.