您可以在页面末尾编写一个小型 JavaScript 附件,并根据需要在外部文件中添加您希望处理的控件。
<script>
var controls = new function () {
return {
radWinManagerMain: {
ClientID: "<%= radWinManagerMain.ClientID %>"
},
radWinManagerSub: {
ClientID: "<%= radWinManagerSub.ClientID %>"
}
};
}();
</script>
我正在使用两个单独的 RadWindowManager,我想在外部 JS 文件中处理它们。GetRadWindowManager() 将始终返回页面上的第一个 RadWindowManager 实例。因此我选择了这种方法。
当调用函数(在外部 JS 中实现)时,我传递对返回 ID 的控件的引用。
<telerik:NavigationNode NavigateUrl="javascript:showWindow(controls.radWinManagerMain,'winSettings');" value="settings" Text="Settings" SpriteCssClass="fa fa-cog" runat="server" />
在外部 JS 文件中:
function showWindow(control, windowName) {
$find(control.ClientID).open(null, windowName);
some more code here...
}
我发现了这个想法:http ://www.telerik.com/blogs/simplify-javascript-control-references-in-asp.net-webforms