1

Je crée une vue console qui utilise deux vues partielles. Chaque vue partielle encapsule un type de données et consomme ses propres données SignalR.Utilisation de SignalR Hub dans des vues partielles MCV

Si j'inclue une seule vue partielle dans la vue principale, la vue partielle fonctionne parfaitement. Peu importe quelle vue j'inclure.

Si j'inclus les deux, seule la première vue partielle est actualisée. La deuxième fonction de concentrateur d'affichage n'est pas appelée.

La fonction js fixé au moyeu en tant que structure simple qui suit et elle est définie à l'intérieur de la vue partielle:

$(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(); 
}); 

Le moyeu est la même pour les deux points de vue, mais chaque vue attacher à une fonction différente. Côté serveur, les deux fonctions sont déclenchées sur le même cycle.

Dois-je rompre l'isolation et mettre les fonctions du hub js à la page de niveau supérieur? Ai-je raté quelque chose ici?

Répondre

1

Il s'avère être très simple. Je peux seulement commencer le hub une fois, ainsi j'ai placé la fonction suivante dans la page principale, après avoir inclus les deux vues partielles.

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

Toutes les fonctions de moyeu peuvent être se lient à l'intérieur des vues partielles.