我遇到Ext.net TabPanel的问题。在重建应用程序后第一次打开带有选项卡面板的页面时,它会抛出Uncaught TypeError: Object [object Object] has no method 'getComponent'
。每次重建应用程序时都会出现问题,然后在页面刷新后消失。这是我用来创建选项卡的JS代码:
@X.XScript().ScriptBlock(@"
<script>
var addMainTab = function (tabPanel, id, url, title) {
var tab = tabPanel.getComponent(id);
if (!tab) {
tab = tabPanel.add({
id : id,
title : title,
closable : true,
loader : {
url : url,
renderer : 'frame',
loadMask : {
showMask : true,
msg : 'Loading ' + url + '...'
}
}
});
}
tabPanel.setActiveTab(tab);
}
</script>
");
在菜单项上点击:
menuItem.Listeners.Click.Handler = "addMainTab(#{MainTabPanel}, 'someId', 'someurl', 'Tab title')";
正如我发现在重建后第一次加载页面时,某些函数(getComponent,addTab等)未包含在TabPanel的定义中。有没有人知道它为什么会发生以及如何修复它?我很感激任何帮助。
答案 0 :(得分:1)
不要在Razor代码中使用#{control}名称。使用App.ControlNameHere引用相关对象。 #{control}仅用于网络表单。
答案 1 :(得分:0)
在执行此代码之前是否加载了ExtJS框架文件?
答案 2 :(得分:0)
看看this question,我提到了如何将标签面板添加到主页面。