Javascript ASP.NET MVC幻灯片放映-不同视图
我正在开发一个具有多个仪表盘的健康和监控应用程序。以幻灯片形式在所有仪表板上逐个显示。因此,我们无需人工干预即可了解系统的运行状况 这就是我所做的。为slideshow slideshow.cshtml开发了一个视图,其中有jquery代码连接到控制器,这些控制器返回部分视图,部分视图有代码连接到服务器并显示数据。因此,局部视图是不同的仪表盘。试图用代码把它尽可能简单。抱歉,代码太长了 我发现仪表板在某个时间后没有显示任何数据。我正在寻找建议和最佳实践,以及如何以更好的方式做到这一点。有没有我们可以使用的开源插件 Slideshow.cshtmlJavascript ASP.NET MVC幻灯片放映-不同视图,javascript,jquery,asp.net,angularjs,asp.net-mvc,Javascript,Jquery,Asp.net,Angularjs,Asp.net Mvc,我正在开发一个具有多个仪表盘的健康和监控应用程序。以幻灯片形式在所有仪表板上逐个显示。因此,我们无需人工干预即可了解系统的运行状况 这就是我所做的。为slideshow slideshow.cshtml开发了一个视图,其中有jquery代码连接到控制器,这些控制器返回部分视图,部分视图有代码连接到服务器并显示数据。因此,局部视图是不同的仪表盘。试图用代码把它尽可能简单。抱歉,代码太长了 我发现仪表板在某个时间后没有显示任何数据。我正在寻找建议和最佳实践,以及如何以更好的方式做到这一点。有没有我们
<div id="partialContainer"></div>
$(function () {
getData();
setInterval(getData, 60000); // Iterate all pages 20 sec each page
});
function getData() {
getData1();
setTimeout(getData2, 20000); //20 Sec
setTimeout(getData3, 40000); //20 Sec
}
function getData1() {
$.ajax({
url: "@Url.Action("GetData1", "Dashboard")",
dataType: 'html',
success: function (data) {
$('#partialContainer').html(data);
}
});
}
function getData2() {
$.ajax({
url: "@Url.Action("GetData2", "Dashboard")",
dataType: 'html',
success: function (data) {
$('#partialContainer').html(data);
}
});
}
function getData3() {
$.ajax({
url: "@Url.Action("GetData3", "Dashboard")",
dataType: 'html',
success: function (data) {
$('#partialContainer').html(data);
}
});
}
****Controller:****
public class DashboardController : Controller
{
public ActionResult GetData1()
{
return PartialView("_Data1");
}
public ActionResult GetData2()
{
return PartialView("_Data2");
}
public ActionResult GetData3()
{
return PartialView("_Data3");
}
}
****One of the Dashboards(partial view): _Data1.cshtml****
<script>
$.ajaxSetup({
// Disable caching of AJAX responses */
cache: false
});
getDataP1();
function getDataP1() {
$("#tblErrors > tbody").html("");
$.ajax({
url: '@Url.Action("GetSummary", "Dashboard")',
data: {},
type: 'GET',
error: function () {
},
success: function (res) {
for (i = 0; i < res.Errors.length; i++) {
var data = res.Errors[i];
var rowClass = 'alt';
if (i % 2 == 0)
rowClass = '';
var row = "<tr class='" + rowClass + "'>";
//Appn Name
row = row + "<td>" + data.AppnName + "</td>";
//Application Type
row = row + "<td>" + data.ApplicationType + "</td>";
//Status
row = row + "<td>" + data.Status + "</td>";
row = row + "</tr>";
$("#tblErrors").append(row);
}
$("label[for='refreshTime']").html(res.LastRefreshTime);
}
});
}
</script>
$(函数(){
getData();
setInterval(getData,60000);//每页迭代20秒
});
函数getData(){
getData1();
setTimeout(getData22000);//20秒
setTimeout(getData3,40000);//20秒
}
函数getData1(){
$.ajax({
url:“@url.Action(“GetData1”,“Dashboard”)”,
数据类型:“html”,
成功:功能(数据){
$('#partialContainer').html(数据);
}
});
}
函数getData2(){
$.ajax({
url:“@url.Action”(“GetData2”,“Dashboard”)”,
数据类型:“html”,
成功:功能(数据){
$('#partialContainer').html(数据);
}
});
}
函数getData3(){
$.ajax({
url:“@url.Action”(“GetData3”,“Dashboard”)”,
数据类型:“html”,
成功:功能(数据){
$('#partialContainer').html(数据);
}
});
}
****控制器:****
公共类仪表板控制器:控制器
{
公共操作结果GetData1()
{
返回部分视图(“数据1”);
}
公共操作结果GetData2()
{
返回部分视图(“数据2”);
}
公共操作结果GetData3()
{
返回部分视图(“数据3”);
}
}
****其中一个仪表板(部分视图):\u Data1.cshtml****
$.ajaxSetup({
//禁用AJAX响应的缓存*/
缓存:false
});
getDataP1();
函数getDataP1(){
$(“#tblErrors>tbody”).html(“”);
$.ajax({
url:'@url.Action(“GetSummary”、“Dashboard”),
数据:{},
键入:“GET”,
错误:函数(){
},
成功:功能(res){
对于(i=0;i
您在全局范围的主视图和部分视图中都有getData
。。我认为这会引起问题。。说到最佳实践,最基本的就是方法的命名约定。您的方法名称必须提供其功能的较高级别。。例如:GetTopCostPatientsHealthInfo
,GetHighRiskPatientsHealthInfo
等实际方法名称不同。这只是发布此问题时出现的复制/粘贴错误。我不想把实际的方法/代码放在这里,用太多的代码来迷惑大家。。我试着用最简单的方式来表达,我的问题不是如何命名方法,以防我把你弄糊涂了。我给他们起的名字很有意义。我的问题更多的是如何解决这个问题(幻灯片)以及我所采用的方法的任何问题。我的评论的第一行应该引导您找到问题的解决方案。。还要检查控制台窗口是否有错误。。告诉我你发现了什么。