我有一个ASP.NET MVC应用程序。在应用程序中,我有一个页面上有一个按钮。当我点击按钮时,在窗口中呈现局部视图(见下文)。在视图中我有一个组合框,我需要在渲染视图后加载组合框。我尝试在win.show()之后调用js,但这不起作用,因为用于渲染组合的文本框位于局部视图中。我该什么时候打电话给js?任何有关这方面的帮助将非常感谢。谢谢!
var win;
if (!win) {
win = new Ext.Window({
layout: 'fit',
width: 750,
height: 630,
closeAction: 'hide',
plain: true,
autoLoad: {
url: '../SearchJob/SearchPanel'
},
buttons: [{
text: 'Submit',
handler: function () { }
}, {
text: 'Close Me',
handler: function () {
win.hide();
}
}]
});
}
win.show(this);
}
答案 0 :(得分:0)
您可以添加<脚本>标记到局部视图的末尾。这样,在完全呈现局部视图之前,不会解析/执行脚本。
答案 1 :(得分:0)
你能在Ext.Window上使用afterrender事件吗?
答案 2 :(得分:0)
由于您使用autoLoad加载部分视图内容,您必须等到窗口收到带有部分视图内容的响应并且已使用components / markup更新...因此您可以监听{ {1}}窗口更新程序的事件......
update
[编辑] 确保将事件处理程序设置为仅运行一次,但编辑高于
win.on('render', function(component) {
win.getUpdater().on('update', function(el, response) {
// Load Combo
}, win, {single:true});
});