1

Ich habe eine Frage für Highchart mit ASP MVC5. Ich habe 6 Diagramme und ich zeige nur das für die erste Seite laden. Alle meine Tags für die Erstellung von Diagrammen und Daten in Teilansicht. mein Javascript ist auch in Teilansicht und ich entfernte die JavaScript-Funktion aus der Teilansicht, aber das Problem ist immer noch an. Das Problem ist, ich bin Auffrischen der Daten in Teilansicht und zeigen jede Minute vonHighchart in ASP MVC Seitenladung funktioniert nicht richtig

$(function() { 
 
     setInterval(function() { $('#container').load('/Dashboard/GetShow'); }, 60000); 
 
    });

aber nach der nächsten Minute refresh Seite zeigt alle Diagramme nicht nur das eine.

meine Funktionen sind:

$('.show-chart').click(function (event) { 
 
     event.preventDefault(); 
 
     $('.chart-title').html($(this).attr('title')); 
 
     $('.chart-section').hide(); 
 
     $('.show-chart').removeClass('active'); 
 
     $($(this).attr('href')).show(); 
 
     $(this).addClass('active'); 
 
    }); 
 

 
    $(window).load(function (event) { 
 
     $('.chart-section').hide(); 
 
     $('.chart-title').html($('.show-chart.active').attr('title')); 
 
     $($('.show-chart.active').attr('href')).show(); 
 
    });

Könnten Sie zu diesem Thema helfen? Grüße

+0

Wo Sie '$ (Fenster) .load (function (event) {platzieren. .. "? Ist es in Teilansicht? –

+0

Erste Teilansicht. Dann entferne ich es aus der Teilansicht und legte es in der Hauptansicht. Aber Problem ist immer noch. –

+0

Verstecken func Die Funktionalität ist in '$ (window) .load (function (event) {...' und timer load '/ Dashboard/GetShow' partialview. Daher sollte die Versteckfunktion in der aktualisierten Teilansicht platziert werden. Ich meine, du solltest dich nach dem Refresh-Teilview verstecken. –

Antwort

0

Probieren Sie etwas wie folgt vor:

$(function() { 
    setInterval(function() { $('#container').load('/Dashboard/GetShow', function() { 
     $('.chart-section').hide(); 
     $('.chart-title').html($('.show-chart.active').attr('title')); 
     $($('.show-chart.active').attr('href')).show(); 
    }); }, 60000); 
}); 

EDIT: besserer Ansatz

function hideCharts() 
{ 
    $('.chart-section').hide(); 
    $('.chart-title').html($('.show-chart.active').attr('title')); 
    $($('.show-chart.active').attr('href')).show(); 
} 

$(function() { 

    // When page first load 
    hideCharts(); 

    // Every time interval 
    setInterval(function() { $('#container').load('/Dashboard/GetShow', function() { 
     hideCharts(); 
    }); }, 60000); 
}); 
+0

Ok. Ich habe es versucht, Vor deinem Vorschlag zeige ich ein Diagramm aus 6 Tabellen. Ich habe es als aktiv in HTML markiert. Nach einer Minute zeigen alle sechs Charts. und nach Ihrem Vorschlag funktioniert die Ansicht so; Es zeigt alle sechs Charts beim Laden der ersten Seite und zeigt dann nach einer Minute ein Diagramm an. Ich denke, es funktioniert, aber jetzt habe ich ein anderes Problem, was werde ich von der ersten Ladung machen? –

+1

Ok. als dein Vorschlag habe ich die Funktionen korrigiert. Es funktioniert jetzt großartig. Vielen Dank. –

+0

Toll ... BTW, ich habe meine Antwort aktualisiert. –