Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ASP.NET MVC中以幻灯片形式显示不同的视图_Javascript_Jquery_Asp.net_Ajax_Asp.net Mvc - Fatal编程技术网

Javascript 如何在ASP.NET MVC中以幻灯片形式显示不同的视图

Javascript 如何在ASP.NET MVC中以幻灯片形式显示不同的视图,javascript,jquery,asp.net,ajax,asp.net-mvc,Javascript,Jquery,Asp.net,Ajax,Asp.net Mvc,我正在开发一个包含多个视图的健康和监控仪表板,并希望以幻灯片形式定期逐个显示所有视图。 我们的要求是在团队空间的电视上播放此幻灯片,以便主动解决问题。我把设置超时和设置间隔作为一个选项。寻找实现此类功能的最佳实践或解决方案。任何帮助或建议都将不胜感激。您忘记包含AJAX标记;-) 您可以执行基于AJAX的调用来更新和显示您可能拥有的许多面板(div?)中的一个 经典ASP.NET- ASP MVC 3(jquery)- ASP MVC(局部视图)- ASP MVC(局部视图)- 不确定你的要求是

我正在开发一个包含多个视图的健康和监控仪表板,并希望以幻灯片形式定期逐个显示所有视图。
我们的要求是在团队空间的电视上播放此幻灯片,以便主动解决问题。我把设置超时设置间隔作为一个选项。寻找实现此类功能的最佳实践或解决方案。任何帮助或建议都将不胜感激。

您忘记包含AJAX标记;-)

您可以执行基于AJAX的调用来更新和显示您可能拥有的许多面板(div?)中的一个

经典ASP.NET-

ASP MVC 3(jquery)-

ASP MVC(局部视图)-

ASP MVC(局部视图)-


不确定你的要求是什么。。(图形渲染?只是颜色?

您忘记包含AJAX标记;-)

您可以执行基于AJAX的调用来更新和显示您可能拥有的许多面板(div?)中的一个

经典ASP.NET-

ASP MVC 3(jquery)-

ASP MVC(局部视图)-

ASP MVC(局部视图)-

不确定你的要求是什么。。(图形渲染?只是颜色?

您可以使用。为什么

  • 它内置了一个
    $interval
    服务,允许您每x毫秒执行一次代码
  • 它内置了一个
    $http
    服务,简化了在ASP.NET MVC中进行ajax调用
  • 它易于学习,非常流行,是在项目中实现双向绑定和创建单页应用程序的好方法
  • 下面是一个完整的示例,其中包含一个间隔服务,该服务将每20秒运行一次,从两个局部视图获取数据,并在滑块中显示该数据:

    控制器:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    
        public PartialViewResult CurrentDateTimeView()
        {
            string date = DateTime.Now.ToString();
            return PartialView("~/Views/Home/_CurrentDateTimeView.cshtml", date);
        }
    
        public PartialViewResult SomeOtherView()
        {
            return PartialView("~/Views/Home/_SomeOtherView.cshtml");
        }
    }
    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.js"></script>
    
    <script type="text/javascript">
        var $slider = null;
    
        var app = angular.module('app', []);
        app.controller('controller', function ($scope, $http, $interval, $q) {
    
            //Loop - executes every 20 seconds
            $interval(function () {
    
                angular.element(document.querySelector('#dashboard')).empty();
    
                $http.get("/Home/CurrentDateTimeView").success(function (data, status, headers, config) {
                    var view = "<div class='slide'>" + data + "</div>";
                    var dashboard = angular.element(document.querySelector('#dashboard'));
                    dashboard.append(view);
    
                    $http.get("/Home/SomeOtherView").success(function (data, status, headers, config) {
                        var view = "<div class='slide'>" + data + "</div>";
                        var dashboard = angular.element(document.querySelector('#dashboard'));
                        dashboard.append(view);
    
                        if ($slider == null) {
                            $slider = $('.sliderDashboard').bxSlider({
                                slideWidth: 200,
                                minSlides: 1,
                                maxSlides: 1,
                                slideMargin: 10
                            });
                        }
                        else {
                            $slider.reloadSlider();
                        }
                    });
                });
    
            }, 10000);
        });
    </script>
    
    <div ng-app="app" ng-controller="controller">
        <div class="sliderDashboard" id="dashboard">
    
        </div>
    </div>
    
    局部视图1:
    @Model

    局部视图2:
    其他视图…

    索引视图:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    
        public PartialViewResult CurrentDateTimeView()
        {
            string date = DateTime.Now.ToString();
            return PartialView("~/Views/Home/_CurrentDateTimeView.cshtml", date);
        }
    
        public PartialViewResult SomeOtherView()
        {
            return PartialView("~/Views/Home/_SomeOtherView.cshtml");
        }
    }
    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.js"></script>
    
    <script type="text/javascript">
        var $slider = null;
    
        var app = angular.module('app', []);
        app.controller('controller', function ($scope, $http, $interval, $q) {
    
            //Loop - executes every 20 seconds
            $interval(function () {
    
                angular.element(document.querySelector('#dashboard')).empty();
    
                $http.get("/Home/CurrentDateTimeView").success(function (data, status, headers, config) {
                    var view = "<div class='slide'>" + data + "</div>";
                    var dashboard = angular.element(document.querySelector('#dashboard'));
                    dashboard.append(view);
    
                    $http.get("/Home/SomeOtherView").success(function (data, status, headers, config) {
                        var view = "<div class='slide'>" + data + "</div>";
                        var dashboard = angular.element(document.querySelector('#dashboard'));
                        dashboard.append(view);
    
                        if ($slider == null) {
                            $slider = $('.sliderDashboard').bxSlider({
                                slideWidth: 200,
                                minSlides: 1,
                                maxSlides: 1,
                                slideMargin: 10
                            });
                        }
                        else {
                            $slider.reloadSlider();
                        }
                    });
                });
    
            }, 10000);
        });
    </script>
    
    <div ng-app="app" ng-controller="controller">
        <div class="sliderDashboard" id="dashboard">
    
        </div>
    </div>
    
    
    var$slider=null;
    var-app=angular.module('app',[]);
    app.controller('controller',function($scope,$http,$interval,$q){
    //循环-每20秒执行一次
    $interval(函数(){
    元素(document.querySelector('#dashboard')).empty();
    $http.get(“/Home/CurrentDateTimeView”).success(函数(数据、状态、标题、配置){
    var view=“”+数据+”;
    var dashboard=angular.element(document.querySelector(“#dashboard”);
    附加(视图);
    $http.get(“/Home/SomeOtherView”).success(函数(数据、状态、标题、配置){
    var view=“”+数据+”;
    var dashboard=angular.element(document.querySelector(“#dashboard”);
    附加(视图);
    如果($slider==null){
    $slider=$('.sliderDashboard').bxSlider({
    滑动宽度:200,
    米斯利德斯:1,
    maxSlides:1,
    幻灯片摘要:10
    });
    }
    否则{
    $slider.reloadsloider();
    }
    });
    });
    }, 10000);
    });
    
    很明显,你所问的问题可以用很多不同的方式解决,这只是其中之一。您可能需要稍微调整它,以适应您的解决方案,或者只使用帮助您的部分并更改其余部分。这取决于您可以使用。为什么

  • 它内置了一个
    $interval
    服务,允许您每x毫秒执行一次代码
  • 它内置了一个
    $http
    服务,简化了在ASP.NET MVC中进行ajax调用
  • 它易于学习,非常流行,是在项目中实现双向绑定和创建单页应用程序的好方法
  • 下面是一个完整的示例,其中包含一个间隔服务,该服务将每20秒运行一次,从两个局部视图获取数据,并在滑块中显示该数据:

    控制器:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    
        public PartialViewResult CurrentDateTimeView()
        {
            string date = DateTime.Now.ToString();
            return PartialView("~/Views/Home/_CurrentDateTimeView.cshtml", date);
        }
    
        public PartialViewResult SomeOtherView()
        {
            return PartialView("~/Views/Home/_SomeOtherView.cshtml");
        }
    }
    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.js"></script>
    
    <script type="text/javascript">
        var $slider = null;
    
        var app = angular.module('app', []);
        app.controller('controller', function ($scope, $http, $interval, $q) {
    
            //Loop - executes every 20 seconds
            $interval(function () {
    
                angular.element(document.querySelector('#dashboard')).empty();
    
                $http.get("/Home/CurrentDateTimeView").success(function (data, status, headers, config) {
                    var view = "<div class='slide'>" + data + "</div>";
                    var dashboard = angular.element(document.querySelector('#dashboard'));
                    dashboard.append(view);
    
                    $http.get("/Home/SomeOtherView").success(function (data, status, headers, config) {
                        var view = "<div class='slide'>" + data + "</div>";
                        var dashboard = angular.element(document.querySelector('#dashboard'));
                        dashboard.append(view);
    
                        if ($slider == null) {
                            $slider = $('.sliderDashboard').bxSlider({
                                slideWidth: 200,
                                minSlides: 1,
                                maxSlides: 1,
                                slideMargin: 10
                            });
                        }
                        else {
                            $slider.reloadSlider();
                        }
                    });
                });
    
            }, 10000);
        });
    </script>
    
    <div ng-app="app" ng-controller="controller">
        <div class="sliderDashboard" id="dashboard">
    
        </div>
    </div>
    
    局部视图1:
    @Model

    局部视图2:
    其他视图…

    索引视图:

    public class HomeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }
    
        public PartialViewResult CurrentDateTimeView()
        {
            string date = DateTime.Now.ToString();
            return PartialView("~/Views/Home/_CurrentDateTimeView.cshtml", date);
        }
    
        public PartialViewResult SomeOtherView()
        {
            return PartialView("~/Views/Home/_SomeOtherView.cshtml");
        }
    }
    
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
    
    <link href="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.css" rel="stylesheet" />
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bxslider/4.2.5/jquery.bxslider.js"></script>
    
    <script type="text/javascript">
        var $slider = null;
    
        var app = angular.module('app', []);
        app.controller('controller', function ($scope, $http, $interval, $q) {
    
            //Loop - executes every 20 seconds
            $interval(function () {
    
                angular.element(document.querySelector('#dashboard')).empty();
    
                $http.get("/Home/CurrentDateTimeView").success(function (data, status, headers, config) {
                    var view = "<div class='slide'>" + data + "</div>";
                    var dashboard = angular.element(document.querySelector('#dashboard'));
                    dashboard.append(view);
    
                    $http.get("/Home/SomeOtherView").success(function (data, status, headers, config) {
                        var view = "<div class='slide'>" + data + "</div>";
                        var dashboard = angular.element(document.querySelector('#dashboard'));
                        dashboard.append(view);
    
                        if ($slider == null) {
                            $slider = $('.sliderDashboard').bxSlider({
                                slideWidth: 200,
                                minSlides: 1,
                                maxSlides: 1,
                                slideMargin: 10
                            });
                        }
                        else {
                            $slider.reloadSlider();
                        }
                    });
                });
    
            }, 10000);
        });
    </script>
    
    <div ng-app="app" ng-controller="controller">
        <div class="sliderDashboard" id="dashboard">
    
        </div>
    </div>
    
    
    var$slider=null;
    var-app=angular.module('app',[]);
    app.controller('controller',function($scope,$http,$interval,$q){
    //循环-每20秒执行一次
    $interval(函数(){
    元素(document.querySelector('#dashboard')).empty();
    $http.get(“/Home/CurrentDateTimeView”).success(函数(数据、状态、标题、配置){
    var view=“”+数据+”;
    var dashboard=angular.element(document.querySelector(“#dashboard”);
    附加(视图);
    $http.get(“/Home/SomeOtherView”).success(函数(数据、状态、标题、配置){
    var view=“”+数据+”;
    var dashboard=angular.element(document.querySelector(“#dashboard”);
    附加(视图);
    如果($slider==null){
    $slider=$('.sliderDashboard').bxSlider({
    滑动宽度:200,
    米斯利德斯:1,
    maxSlides:1,
    幻灯片摘要:10
    });
    }
    否则{
    $slider.reloadsloider();
    }
    });
    });
    }, 10000);
    });
    
    很明显,你所问的问题可以用很多不同的方式解决,这只是其中之一。您可能需要稍微调整它,以适应您的解决方案,或者只使用帮助您的部分并更改其余部分。这取决于您

    我有几个