[Solved] RadFileExplorer calls ResolveDirectory/GetFiles only on the first navigation to a folder

1 Answer 3 Views
Designs, skins, themes
Dilan
Top achievements
Rank 1
Dilan asked on 05 Aug 2026, 10:19 AM

Hi Telerik Team,

I am using RadFileExplorer with a custom FileBrowserContentProvider. I noticed that ResolveDirectory() and GetFiles() are only called the first time a folder is opened. After that, navigating back to the same folder (either from the tree view or by opening folders in the file list) does not invoke these methods again, so the folder contents are not refreshed and changes are not displayed. If I click the Refresh button in RadFileExplorer, the folder contents are refreshed correctly and the latest files are shown. I tested this with both 2025.1.416.462 and the latest Telerik version, and the behavior is the same. Is this expected caching behavior? Is there a supported way to force RadFileExplorer to reload the current folder and call ResolveDirectory() and GetFiles() again?

Thank you. 

1 Answer, 1 is accepted

Sort by
0
Rumen
Telerik team
answered on 05 Aug 2026, 11:41 AM

Hi Dilan,

This is the expected behavior of RadFileExplorer. By design, RadFileExplorer caches folder contents after the initial call to your custom FileBrowserContentProvider's ResolveDirectory() and GetFiles() methods. When you revisit a folder, the control uses cached data to improve performance and minimize server requests. The Refresh button is provided specifically to clear this cache and trigger the provider methods again, ensuring the latest folder contents are shown.

Why the Refresh button works
The Refresh button calls refresh(), which calls the server directly, never checking the cache.

How to Force a Programmatic Refresh

Option 1 – Call refresh() programmatically (recommended):
If you need to force RadFileExplorer to reload the current folder and re-invoke your provider methods (for example, after file operations or external changes), you can use the client-side .refresh() method:

 

var explorer = $find("<%= RadFileExplorer1.ClientID %>");
explorer.refresh();

 

This reloads the current folder from the server exactly like the Refresh button.

Option 2 – Clear the folder cache for a specific path, then re-navigate:

 

var explorer = $find("<%= RadFileExplorer1.ClientID %>");
var path = explorer.get_currentDirectory();
explorer.get_fileList().clearFolderCache(path); // public API, FileList.js line 215
explorer.loadFolder(path, false);               // force reload bypassing same-folder guard

 

Option 3 – Hook into a client-side event and clear cache before navigation:

 

function OnFolderChange(sender, args) {
    sender.get_fileList().clearFolderCache(args.get_item().get_path());
}

Wire this to OnClientFolderChange if you always want a fresh load on every folder open.

The behavior is by design for performance. The refresh() client API method or get_fileList().clearFolderCache(path) + loadFolder(path, false) are the supported ways to force ResolveDirectory() and GetFiles() to be called again on the server.

 

Regards,
Rumen
Progress Telerik

Stay tuned by visiting our public roadmap and feedback portal pages! Or perhaps, if you are new to our Telerik family, check out our getting started resources
Tags
Designs, skins, themes
Asked by
Dilan
Top achievements
Rank 1
Answers by
Rumen
Telerik team
Share this question
or