1

我正在創建一個使用2個部分視圖的控制檯視圖。每個局部視圖封裝一種數據並消耗自己的SignalR數據。在MCV部分視圖中使用SignalR Hub

如果我在主視圖中僅包含一個局部視圖,則局部視圖可以完美工作。這包括我認爲無關緊要的事情。

如果我同時包括這兩個,只刷新第一個局部視圖。第二個視圖集線器功能不被調用。

附接到輪轂如下面的結構簡單的js函數和它的局部視圖中定義:

$(function() { 
    //same for both views 
    var hub = $.connection.someHub; 

    //Each view use a diferent function 
    hub.client.partialupdateX = function (data) { 
     // Add the message to the page. 

     tabledata = JSON.parse(data); 

     table.ajax.reload(); 
    }; 
    $.connection.hub.start(); 
}); 

轂對於兩個視圖中的相同,但每個視圖附加到一個不同的功能。 在服務器端,兩個功能都在同一個週期內被觸發。

我必須打破隔離並將樞紐js功能放在頂層頁面嗎? 我在這裏錯過了什麼嗎?

回答

1

結果很簡單。我只能啓動一次集線器,因此在包含兩個部分視圖之後,我在主頁面中添加了以下功能。

$(function() {   
    $.connection.hub.start(); 
}); 

所有集線器函數都可以在部分視圖內部綁定。