You could write a small JavaScript enclosure at the end of the page and add controls you wish to address in external files as needed.
<script>
var controls = new function () {
return {
radWinManagerMain: {
ClientID: "<%= radWinManagerMain.ClientID %>"
},
radWinManagerSub: {
ClientID: "<%= radWinManagerSub.ClientID %>"
}
};
}();
</script>
I was using two separate RadWindowManagers which I wanted to address in an external JS file. GetRadWindowManager() would have always returned the first RadWindowManager instance on the page. I therefore chose this approach.
When calling the function (which is implemented in external JS) I pass on a reference to controls which returns the IDs.
<telerik:NavigationNode NavigateUrl="javascript:showWindow(controls.radWinManagerMain,'winSettings');" value="settings" Text="Settings" SpriteCssClass="fa fa-cog" runat="server" />
In external JS file:
function showWindow(control, windowName) {
$find(control.ClientID).open(null, windowName);
some more code here...
}
I found the idea to this on: http://www.telerik.com/blogs/simplify-javascript-control-references-in-asp.net-webforms