我在页面中有多个局部视图,我使用SignalR。
为了正确执行,所有部分视图都需要使用ID向集线器注册。
我使用以下方法实现了这个:
$.connection.hub.start(function () { <hubname>.register(<id>); });
当页面上只有一个局部视图时,它按设计工作。但是一旦有2个或更多,只执行一个寄存器命令。因此,只有一个部分视图有效。
如果我可以保持部分视图自包含,我会更喜欢它。
答案 0 :(得分:3)
dfowler在JabbR上回答了我的问题:
// --- outside of the user controls, e.g. on the container page ---
$(function() {
window.hubReady = $.connection.hub.start();
});
// --- in your other pages ---
$(function() {
window.hubReady.done(function() {
// call hub method
});
});